【发布时间】:2009-04-11 22:54:46
【问题描述】:
我希望编写一个与 POP3/SMTP 服务器通信的示例应用程序。与其用 BSD 套接字和 CFNetwork 类型调用重新发明轮子,我很好奇目前是否有任何开源库已经处理了很多脏活?我试过谷歌搜索,但没有任何运气。
也许我忽略了一些东西来简化这一点。
谢谢。
【问题讨论】:
标签: iphone objective-c cocoa cocoa-touch pop3
我希望编写一个与 POP3/SMTP 服务器通信的示例应用程序。与其用 BSD 套接字和 CFNetwork 类型调用重新发明轮子,我很好奇目前是否有任何开源库已经处理了很多脏活?我试过谷歌搜索,但没有任何运气。
也许我忽略了一些东西来简化这一点。
谢谢。
【问题讨论】:
标签: iphone objective-c cocoa cocoa-touch pop3
MessageFramework on CocoaDev列出了各种可能性,
"Sending emails from Cocoa"还列出了几个框架,包括Pantomime、MailCore和EdMessage(site for this好像挂了,但是有一个mirror on 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 的 open source frameworks,尤其是 OmniNetworking 框架。您可能会考虑在他们的其他框架中使用许多其他很棒的组件。
【讨论】: