我正在寻找一个与 POP3/SMTP 服务器对话的示例应用程序。与其用 BSD 套接字和 CFNetwork 类型调用重新发明轮子,我很好奇目前是否有任何开源库已经处理了很多脏活?我试过谷歌搜索,但运气不佳。
也许我忽略了一些东西来简化这一点。
谢谢。
我正在寻找一个与 POP3/SMTP 服务器对话的示例应用程序。与其用 BSD 套接字和 CFNetwork 类型调用重新发明轮子,我很好奇目前是否有任何开源库已经处理了很多脏活?我试过谷歌搜索,但运气不佳。
也许我忽略了一些东西来简化这一点。
谢谢。
CocoaDev 上的 MessageFramework列出了各种可能性,
“从 Cocoa 发送电子邮件”还列出了几个框架,包括Pantomime、MailCore和 EdMessage (这个站点似乎已经关闭,但github 上有一个镜像,它也被修改为编译为 10.4,以及 10.5 -所以应该在iPhone上工作)
使用哑剧的示例代码(来自上面的博客文章):
CWMessage *message = [[CWMessage alloc] init];
CWInternetAddress *address;
address = [[CWInternetAddress alloc] initWithString:@"from@gmail.com"];
[message setFrom:address];
[address release];
address = [[CWInternetAddress alloc] initWithString:@"to@somewhere.com"];
[address setType:PantomimeToRecipient];
[message addRecipient:address];
[address release];
[message setSubject:@"test"];
[message setContentType: @"text/plain"];
[message setContentTransferEncoding: PantomimeEncodingNone];
[message setCharset: @"us-ascii"];
[message setContent: [@"This is a simple content." dataUsingEncoding: NSASCIIStringEncoding]];
smtp = [[CWSMTP alloc] initWithName:@"smtp.gmail.com" port:465];
[smtp setDelegate: self];
[smtp setMessage: message];
[message release];
ssl = YES;
mechanism = @"PLAIN";
[smtp connectInBackgroundAndNotify];
这是一个。我自己没试过,但你可以试一试......
您还可以查看 OmniGroup 的开源框架,尤其是 OmniNetworking 框架。您可能会考虑使用它们的其他框架中的许多其他很棒的组件。