美文网首页
mailcore2 的使用与问题解决

mailcore2 的使用与问题解决

作者: Damon_Rao | 来源:发表于2019-11-26 16:51 被阅读0次

前言

MailCore是由MailCore团队开发维护的一个支持POP和IMAP 接收邮件协议以及smtp邮件发送协议。MailCore2是MailCore的下一代产品。

一、下载及运行配置

源码下载:传送门~

通过pod 或者直接下载源码把mailcore2,打开时选择buildmac 文件夹工程直接拖进你的工程

另需要配置一些参数和添加必要的系统支持库如下:

1.、添加CFNetwork.framework、Security.framework、libMailCore-ios.a

2、你的工程build Setting添加:  'Other Linker Flags': -lctemplate-ios -letpan-ios -lxml2 -lsasl2 -liconv -ltidy -lz -lc++ -lresolv -stdlib=libc++ -ObjC  (最新版本设置)

5.build setting 里 Clang 确保LLVM C++ standard library 为libc++

6. Build Phases, add a Target Dependency of static mailcore2 ios.

二、运行成库时遇到的问题

1、MCOErrorDomain Code=5

邮箱帐号或者密码错误,邮箱后缀是否正确。

2、MCOErrorDomain Code=4

服务器证书无效,可以将 checkCertificateEnabled 设置为NO;另网络原因也可能造成连接不上

3、MCOErrorDomain Code=1

a).hostname不存在,或者拼写错误

b).需要SSL安全链接,将connectionType设置为MCOConnectionTypeTLS;

c).端口号错误。

一般配置的端口 imap 993 / smtp 465 ; pop3/smtp 25

4、找不到'libetpan / libetpan.h'、'unicode / udat.h'、'ctemplate / template.h'

libetpan 是C写的为不同类型的邮件访问提供支持邮件支持库,ctemplate 是ctemplate 是一个简单实用、功能强大的文字模板(template language),unicode顾明思义是编码库。一般情况下找不到这些文件是编译前后顺序的问题, 生成了iOS 库再去编译mailcore2 的库才能找到。

a).运行 static mailcore2 ios、再运行 mailcore2 ios

b).再选择你自己的工程运行

三、邮件收发问题

1、邮件中文乱码

a).文件夹名乱码,是由于命名空间未匹配导致

 MCOIMAPFetchNamespaceOperation * op = [imapSession fetchNamespaceOperation];

[op start:^(NSError *__nullableerror, NSDictionary * namespaces) {

            MCOIMAPNamespace * namespace = (imapSession.defaultNamespace !=nil) ? imapSession.defaultNamespace : [namespaces objectForKey:MCOIMAPNamespacePersonal];

if(namespace){

 NSString *folername= [namespace componentsFromPath:imapFolder.path][0]; }}]; 

//namespace 为空时则可能中文乱码

b).邮件正文乱码

NSString *htmlString  =[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

 if(htmlString ==nil|| htmlString.length==0)  

{ htmlString=[[MCOMessageParser messageParserWithData:data] htmlBodyRendering];  //默认使用MC 的转码但很多外界邮箱发来无法解析 }

 2、添加附件

附件分为inlineAttachments 和 新增attachments

MCOAttachment *attachment=[MCOAttachment attachmentWithContentsOfFile:[attachmentModel fileName]];

[attachment setUniqueID:[attachmentModel modelID]];

[attachment setInlineAttachment:NO];//yes or no

[messageBuilder addRelatedAttachment:inlineAttachment];

 [messageBuilder addAttachment:attachment];

四、进一步了解

mailcore2 api文档~~~

理解OAuth 2.0

libetpan 支持库~~

相关文章

  • mailcore2 的使用与问题解决

    前言 MailCore是由MailCore团队开发维护的一个支持POP和IMAP 接收邮件协议以及smtp邮件发送...

  • MailCore2 的使用

    简介:MailCore是一个第三方的邮件SDK,支持POP和IMAP 方式接收邮件,以及smtp邮件发送.gith...

  • Mailcore2邮箱开发

    邮件开发坑点:Mailcore2使用了默认的defaultnamespace 部分文件夹需要转换之后才能获取邮件

  • IOS学习(13)-Masonry

    Masonry介绍与使用实践(快速上手Autolayout)Masonry的使用,动画,出现问题解决等AutoLa...

  • Centos7 挂载 win10 共享的文件夹

    参考:Linux开发环境搭建三 使用mount -t cifs 挂载windows共享目录方法与问题解决[http...

  • 读《现场改善》第四章

    关于典型的问题解决法,如a3问题解决法与丰田问题解决法中,在描述问题时,我们要精确的定义现状与目标之间的差距 ,而...

  • adb 使用常见问题解决方案与ADB的常见使用

    adb 使用常见问题解决方案与ADB的常见使用 几次遇到这个问题: 通过网上查找和实践,网上总结了以下一些方法。1...

  • devOps使用与问题解决

    1. 在devOps上开发者主要关注和使用三个功能项,分别是项目环境(Enviroments)、应用(Applic...

  • Java EE初学者手册(一)

    前言:使用MyEclipse 2014开发,安装与激活hy就不再废话,只是在每节中把自己遇到的问题解决技巧码出来,...

  • Mailcore2的一些坑

    该博客主要描述我所遇到的问题情况。配置环境我附上连接自己去看看。 Mailcore2的配置 https://git...

网友评论

      本文标题:mailcore2 的使用与问题解决

      本文链接:https://www.haomeiwen.com/subject/hivewctx.html