使用ESP32-Mail-Client库发送邮件
个人感觉这个库比较强大,能上传附件,可以用来上传日志库地址
GitHib: https://github.com/mobizt/ESP32-Mail-Client
也可以从IDE下载
部分代码,注释已翻译
SMTPData smtpData;
//【登录】服务器(服务器地址,端口,账号,授权码)
smtpData.setLogin("smtp.163.com", 465, "******@163.com", "******");
//启用【TLS】协议支持,在587端口
//smtpData.setSTARTTLS(true);
//设置【发件人】
smtpData.setSender("*****", "******@163.com");
//设置【优先级】(High, Normal, Low or 1 to 5 (1 is highest))
smtpData.setPriority("High");
//设置【主题】
smtpData.setSubject("ESP32 SMTP Mail Sending Test");
//设置【消息文本】(普通的文本或html)
smtpData.setMessage("<div style=\"color:#ff0000;font-size:20px;\">Hello World! - From ESP32</div>", true);
//添加【收件人】,可以添加多个收件人
smtpData.addRecipient("******@163.com");
//设置【存储类型】读取附加文件
//smtpData.setFileStorageType(MailClientStorageType::SPIFFS);
smtpData.setFileStorageType(MailClientStorageType::SD);
//添加【附件】,可以添加从闪存文件或二进制数据,文件在SD卡
//smtpData.addAttachData("firebase_logo.png", "image/png", (uint8_t *)dummyImageData, sizeof dummyImageData); //从内存中
smtpData.addAttachFile("/hello.txt");//从SD卡中
//设置一些【自定义消息头】(可选)
//smtpData.addCustomMessageHeader("Date: Sat, 10 Aug 2019 21:39:56 -0700 (PDT)");
//【调试】SMTP
smtpData.setDebug(true);
//绑定输出发送状态的【回调】函数
smtpData.setSendCallback(sendCallback);
//【发送】
if (!MailClient.sendMail(smtpData)) {
Serial.println("Error sending Email, " + MailClient.smtpErrorReason());
}
//【清空】缓存
smtpData.empty();
完整的代码可以参照示例(其实是我想偷个懒:lol )
温馨提示:注意那个回调函数,不懂的可以屏蔽掉
运行结果
我用的163邮箱。QQ邮箱还没试过。
记得配置SMTP 登录163邮箱报了认证错误
Error, identification failed
Error sending Email, identification failed guidons 发表于 2020-2-15 16:14
登录163邮箱报了认证错误
Error, identification failed
Error sending Email, identification failed ...
密码是授权码 我用的还真是授权码。。。 兄弟我终于成功了原来是端口问题:L guidons 发表于 2020-2-19 19:03
兄弟我终于成功了原来是端口问题
老哥,我也是identification failed ...,请问咋解决啊,我用的QQ邮箱,端口465 meng91666 发表于 2021-5-7 11:20
老哥,我也是identification failed ...,请问咋解决啊,我用的QQ邮箱,端口465
解决了吗?我也是这个问题,端口465
页:
[1]