美文网首页
2022年,Swift工程后台发送邮件

2022年,Swift工程后台发送邮件

作者: 微风_10a5 | 来源:发表于2022-05-26 09:50 被阅读0次

    最近有一个需求,需要App自己后台发送邮件,于是在网上找了一圈,最后,最有参考价值的一篇文章iOS 发送邮件SKPSMTPMessage,在此感谢此文章的作者,毕竟站在巨人的肩膀做事情,会事半功倍

    本篇会把本人已踩过的坑都填平,希望对小伙伴们有所帮助

    最终效果

    IMG_2119.jpg
    坑一:思想上的坑

    这个坑是思想上的错误,为什么这么说呢,请看下图


    image.png

    哇,这个库竟然是8年前的耶,都老古董了,估计不能用了吧,还是去找找别的库,看看吧,本人就是犯了这个思想上的坑,打心底就不想使用它,但找了很久,也没有更合适的第三方库(如果有其他的库,可以在后台发送邮件,请在下方评论区留言,本人将不胜感激)

    这里给小伙伴们打一强心针,*SKPSMTPMessage这个库,在2022年,即使是swift工程里面依然可以使用*,OC工程里面肯定也是可以使用的

    坑二:集成进去报错
    前提:集成方式

    本人这边是直接下载源码,把文件放到工程里面,没有使用pod的方式,如下


    image.png

    如下图,有很多错误
    1.Cast of Objective-C pointer type 'NSString *' to C pointer type 'CFStringRef' (aka 'const struct __CFString *') requires a bridged cast
    2.'autorelease' is unavailable: not available in automatic reference counting mode
    3.ARC forbids explicit message send of 'autorelease'

    image.png

    大家不要慌,因为它是OC库,又是很久远的代码,应该还是手动管理内存MRC,所以我们沿着这个思路,我们只要让工程,兼容MRC模式,就可以了,
    解决办法:只需要在NSStream+SKPSMTPExtensions.mSKPSMTPMessage.m后面加上-fno-objc-arc

    image.png
    坑三:按上面提到的文章iOS 发送邮件SKPSMTPMessage,里面的说法,会有问题

    如下图


    image.png

    应该是swift的版本更新导致的,正确的做法,在工程名-Bridgin-Header.h文件里面导入如下代码:

    #import "SKPSMTPMessage.h"
    
    image.png
    坑四,使用过程中的坑

    如何使用,大体方法,请参考iOS 发送邮件SKPSMTPMessage这里面的做法,这里只强调一点;文章里面提到

    emailServer.pass = "xxxxxxxxxxxxxxx" //密码或者授权码

    最好是用授权码最好是用授权码,最好是用授权码; 密码有时候是会有问题的,不能正常的发送邮件出去

    结尾

    2022年还在更新iOS技术文章,实属不易,小伴们,觉得有点用的话,或者已经看到这里面来的请点赞加关注吧~~
    后续分享更多iOS原生技术及物联网技术相关文章。如果有任何疑问的话,欢迎在下方留言~

    相关文章

      网友评论

          本文标题:2022年,Swift工程后台发送邮件

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