ESP32中使用micropython模拟SMTP发送带MIME格式附件的邮件

本文详细介绍了如何使用ESP32的Micropython通过SMTP协议发送带附件的电子邮件,涉及MIME结构和内存管理。作者分享了构造邮件头和邮件体的方法,以及在有限内存环境下发送附件的技巧。

本文描述了如何使用micropython发送一封带附件的邮件。主要使用socket链接,并使用smtp协议,构造一封带文件附件的邮件,并发送到指定邮箱。

附件是采用二进制方式读取,并一次性读入内存进行base64编码,由于我使用了esp32,内存有限,因此也不能发送太大的附件,不加spiram的情况下,几十k的附件勉强过得去。注意文件是放在esp32的根目录下的,如果不是,请自行修改路径代码。

本文的目的主要是了解如何用MIME格式去构造带附件的邮件。

作者水平有限,欢迎批评指正。

def sendMail(subjectStr,contentStr,attachFileName):
    #MIME邮件结构:
    #1.邮件头mailHead,详细内容见后。邮件头中会定义该邮件为multipart/mixed,并定义边界符boundary "---part1"
    #2.邮件头mailHead与邮件体mailBody的分隔符(一个空行\r\n)
    #3.邮件体mailBody。边界符的用法:
    #----part1(第一层级的边界符,level1.part1开始)
    #Content-Type: multipart/alternative;(定义第二个层级)
    #boundary="----Part2"(第二个层级的边界符)
    #----Part2(第二层级的边界符,level2.part1)
    #Content-Type: text/plain;(第二层级第1部分的定义)
    #charset="us-ascii"
    #Content-Transfer-Encoding: base64
    #BalaBala................内容
    #----Part2(第二层级的边界符,level2.part2)
    #Content-Type: text/html;(第二层级第2部分的定义)
    #charset="us-ascii"
    #Content-Transfer-Encoding: quoted-printable
    #BalaBala..............
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值