引
要我说呀,你如果不曾碰到奇奇怪怪的需求都不好意思说你是个程序猿。最近我碰到了,所以才有这篇文章,记录一下过程中遇到的问题。
这篇文章是记录一下我是如何在iOS端实现自动发送邮件功能的。某个应用场景为:
用户点击iOS端的”发送邮件”按钮,其功能是将某些数据以邮件的形式自动发送到用户的邮箱。
iOS端向特定SMTP服务器发起请求,发送邮件。
经过一段时间的百度(好孩子不翻qiang),我了解到,iOS发送邮件目前有3种实现方式:
使用openURL来实现发邮件的功能
使用MFMailComposeViewController来实现发邮件的功能
使用比较有名的开源SMTP协议来实现,例如SKPSMTPMessage
前两者会跳出当前页面,与我们”自动发送”的要求不符,所以我们使用开源的SKPSMTPMessage实现功能。
如果你只是想知道怎么解决乱码问题,请转到最后。
skpsmtpmessage介绍
skpsmtpmessage 简单的封装了SMTP协议,让你的app可以发送邮件。它是手动封装的,有很大的自由度,可以在后台发送请求,从而自动发送邮件。skpsmtpmessage源码见github
需要注意的一点是,你最好
To use this in your app, add the files in the SMTPLibrary directory to your project.
原因是,Cocoapod里的skpsmtpmessage版本较老,会引起标题中文乱码的问题。
不得不吐槽一句,iOS的SMTP封装的第三