现在的位置: 首页 > 综合 > 正文

Open Source Cocoa/Cocoa-Touch POP3/SMTP library?

2018年07月27日 ⁄ 综合 ⁄ 共 1461字 ⁄ 字号 评论关闭

前些天有读者提出需要在iPhone中开发Email的程序。在iPhone的SDK中除了使用mailto的方式发送邮件之外暂时还没有其他更好的方法。

这里介绍两个基于Objective-C的Open Source的Email代码,理论上来说经过微小的修改就可以用于iPhone中,不过需要注意的是请注意这两个代码的授权方式。

Pantomime是一个用于开发邮件程序的完整框架,而且有相当多的基于Mac的桌面程序都使用了这个框架。在功能方面,支持MIME编码和解码,完全支持IMAP和POP3协议,并支持本地邮件发送或使用远程SMTP发送,支持SSL/TLS安全发送及接收邮件机制。

它的大部分代码都是使用Objective-C写成,只有一小部分需要性能的代码用c写成,另外它还使用了一点eml代码。它既可以用于Mac
OSX,还可以在GNUStep下编译。

Pantomime的使用非常简单,而且下载包中也提供了完善的使用例子,仅仅使用很短的代码就可以实现邮件的接收、发送以及密码验证等功能。

如果你希望开发一个完整的电子邮件程序,相信Pantomime是最好的选择。下载地址在这里,版本为1.2.0pre3。

另外一个代码的名字叫做MailCore
Framework
,由Matt Ronge开发(感觉做Mac开发的人叫Matt的好多……)。同样非常好用,也自带了两个简单清楚的例子。

用MailCore Framework发送邮件非常简单:

 

  1. CTCoreMessage *testMsg = [[CTCoreMessage alloc] init];
  2. [testMsg setTo:[NSSet setWithObject:[CTCoreAddress
    addressWithName:@"Monkey" email:@"monkey@monkey.com"]]];
  3. [testMsg setFrom:[NSSet setWithObject:[CTCoreAddress
    addressWithName:@"Someone" email:@"test@someone.com"]]];
  4. [testMsg setBody:@"This is a test message!"];
  5. [testMsg setSubject:@"This is a subject"];

设置好之后就可以直接发送:

  1. CTSMTPConnection sendMessage:testMsg server:@"mail.test.com"
    username:@"test" password:@"test" port:25 useTLS:YES shouldAuth:YES];
  2. [testMsg release];

需要注意的是MailCore并不支持多线程,另外MailCore将所有信息都保存在内存中,因此需要开发者自己手写保存的代码了。不过虽然如此,它还是一个非常简单易用的邮件接收发送代码,建议读者下来看看。

MailCore的下载地址在这里,其中包括了文档和例子。

转自:http://www.cocoachina.com/b/?p=259

参考:http://stackoverflow.com/questions/740939/open-source-cocoa-cocoa-touch-pop3-smtp-library

抱歉!评论已关闭.