Skip to content

Instantly share code, notes, and snippets.

View TomorJM's full-sized avatar
🦊
Kidding~

Jaime TomorJM

🦊
Kidding~
View GitHub Profile
@ArsnealX
ArsnealX / appDelegate.m
Created May 27, 2017 03:44
UIDebuggingInformationOverlay
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
#if DEBUG
Class debugWindow = NSClassFromString(@"UIDebuggingInformationOverlay");
SEL selector = NSSelectorFromString(@"prepareDebuggingOverlay");
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
[debugWindow performSelector:selector];
#pragma clang diagnostic pop
#endif
return YES;

在这篇笔记的最前面,我一定要说,网络协议的设计者都是天才

使用SMTP发送邮件其实十分简单,就如同我们和人交谈别无二致。这里我们使用SMTP协议发送一封邮件,小小体会一下网络协议之美。我在这里使用Windows平台上的VS2013 作为编码环境,使用C++,和WinSock中的socket函数通信。

什么是SMTP,用Python中的SMTP模块发送一封邮件

SMTP--Simple Mail Transfer Protocol,简单邮件传输协议。这是一个应用层协议,我们可以使用此协议,发送简单的邮件。SMTP基于TCP协议,在不使用SSL,TLS加密的SMTP协议中,我们默认使用端口号25,在使用SSL\TLS的SMTP协议中,使用端口号465\587。

一次传输邮件的过程,其实就是一次和服务器对话的过程。为了标识这些对话中的各种动作,我们需要使用语言来和服务器沟通。例如客户端发送给服务器一条信息EHLO(Hello),服务器就知道这个客户端要给我发邮件了,这类似于我们人与人之间打招呼,我和服务器说:我要发邮件了!!!,于是服务器知道我要发邮件了,会给我回答一声:发吧。在SMTP协议中,也是同样,协议会返回一个标识码,来告诉我们服务器现在的状态,在我们打招呼之后,服务器一般会返回250,这告诉我们:“一切OK,放马过来吧”。

@lldong
lldong / ruby-gems-for-xcoder.md
Last active March 8, 2020 10:20
Ruby Gems for Cocoa Developer
  • liftoff Xcode 工程配置工具
  • crafter Xcode 工程配置工具,使用 Ruby 进行配置,比 liftoff 灵活
  • xcpretty xcodebuild 输出格式化工具
  • xclisten 测试用例自动执行工具
  • bwoken UIAutomation 脚本执行工具