• 注册
当前位置:1313e > 默认分类 >正文

MailCore框架简介

项目地址:http://libmailcore.com/

 

MailCore 是什么?

MailCore是一个Mac和iOS下的email库。使用它能轻易发送email,并隐藏了MIME的具体细节。只需要调用一个方法即可进行邮件发送。列出IMAP服务器上的邮件要复杂一些,但MailCore也能节省大量的工作,你可以使用封装良好的Messages、Foleder和Accounts对象。

 

邮件发送示例

以下代码显示如何使用MailCore发送邮件。

 

CTCoreMessage *msg = [[CTCoreMessage alloc] init];

CTCoreAddress *toAddress = [CTCoreAddressaddressWithName:@"Monkey"

                                                    email:@"monkey@monkey.com"];

[msg setTo:[NSSet setWithObject:toAddress]];

[msg setBody:@"This is a test message!"];

 

NSError *error;

BOOL success = [CTSMTPConnection sendMessage:msgserver:@"mail.test.com"

                                    username:@"test"password:@"test" port:25

                                      useTLS:YESuseAuth:YES error:&error];

 

 

在 GitHub上可以获得 MailCoreExample.m 的源代码。

 

下载MailCore

最好的方法是直接从github的MailCore项目克隆一份副本。当前,主分支仍处于改进中,我们推荐从主分支下载。最终的稳定版本会是1.0,但当前版本仍然是主分支。

git clone https://github.com/mronge/MailCore.git cd MailCore/

git submodule update --init

 

把MailCore加到你的 iOS 项目

  1. 首先,从github签出最新代码,确保已经下载了所有必须的子模块。
  2. 找到MailCore.xcodeproj,将它拖到你的Xcode项目,作为其中的一个子项目。

  1. 打开app的target,切换到Build Phases窗口。展开Link Binary With Libraries项,点击+号按钮,加入以下库:   libmailcore.a    libssl.a    libsasl2.a    libcrypto.a    libiconv.dylib    CFNetwork.framework


  1. 在Target Dependencies下添加MailCore iOS
  2. 选择你的app的target,切换到Build Settings页,找到Header Search Paths,在下面添加 "$(BUILT_PRODUCTS_DIR)/../../include"
  3. 在.c文件头部添加 即可使用 MailCore了。

 

把MailCore 加到你的 Mac 项目

  1. 首先签出最新的MailCore代码,确保已下载所有必须的子模块。
  2. 找到MailCore.xcodeproj,拖到你的Xcode项目窗口。
  3. 打开app的target,切换到Build Phases窗口。展开Link Binary With Libraries,点击+按钮,添加MailCore.framework。
  4. Build Phases页,点击右下角的Add Build Phase,并选择Add Copy Files,加入一个新的copy files项,确保目标文件夹设为Frameworks。现在,通过+号按钮将MailCore.framework加到这个copy files项中。
  5. 在Target Dependencies下加入MailCore。
  6. 在.c文件头部添加 即可使用 MailCore了。

 

迁移至版本 1.0

最新版本的MailCore不再向下兼容。我试图向下兼容,但真的太难了,sorry:(

最大的改变是不再使用异常,而用方法返回值来表示是否成功(返回BOOL值或的对象)。如果有错误发生,用-(NSError*)lastError方法去检测该对象。

以下列出大部分改变:

q方法-(int)fetchBody变为-(BOOL)fetchBodyStructure

q方法messageObjectsFromIndex:toIndex:和messageListWithFetchAttributes:被删除。使用方法messagesFromSequenceNumber:to:withFetchAttributes:和messagesFromUID:to:withFetchAttributes:代替它们。具体看CTCoreFolder.m的头文件。

qNSException不再使用。用NSError代替。

q当邮件未下载或邮件中没有相应的内容时,CTCoreMessage对象的to、from、sender、bcc、cc、subject属性为nil。

q邮件的UIDs不再是NSString,而是NSUInteger。

q-(BOOL)isUIDValid:(NSString*)uid被删除,你需要手动方式检测你的uid有效性。

文档

新手入门: Getting Started Guide , API文档: API docs.

 


 



本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 162202241@qq.com 举报,一经查实,本站将立刻删除。

最新评论

欢迎您发表评论:

请登录之后再进行评论

登录