MailCore框架简介

MailCore框架简介

 

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.h> 即可使用 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/MailCore.h> 即可使用 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有效性。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值