🏕️目前国内邮箱 smtp 发信提醒方案代码
2023-7-9
| 2023-7-17
0  |  0 分钟
type
status
date
Jul 9, 2023 12:22 PM
slug
summary
tags
category
icon
password
引言:国内网络下, 偶尔 TG 不能连接, 最稳定的提醒方式还是国内方案. 但国内微信,企业微信不靠谱,能不用尽量不用. 最稳定靠谱的方案应该是邮件 smtp 方案.
 

问题现象说明

 

移动邮箱

smtp 要用国内的主流客户端才可以.python 脚本暂时没法用.
要想办法配置 邮件传输代理(MUA) 的名字
 

电信邮箱

 
收信不显示图片的解决方案:
其他邮箱用如下 code 即可嵌入图片
189邮箱用如下 code 才可嵌入图片
 
但这样的话 189 邮箱附件里面也会有对应的 image.
其他邮箱显示正常.
说明 189 邮箱的确对 attachment image 的处理不太合理.

Gmail 邮箱

 
不能收如下附件
 
发信 smtp 配置
 
Gmail plain 不会被 html 覆盖.
其他邮箱都会被覆盖.

腾讯邮箱

 
垃圾密保, 绑定了美国号码还不行.
 

163 邮箱

 
垃圾, 绑定了美国号码发送验证码失败

Coding 过程注意点

 

MIME代码中收件人的注意事项

 
 

Plain 代码中收件人的对比注意

 
 
 

smtp.send_message 替代 smtp.sendmail 比较好.

 
send_message 参数不用再输入列表格式的收件人, 发件人, 只需要一个 message 参数即可
这样:
  1. 减少了输入参数
  1. 避免了一会用列表格式的收件人, 一会用字符串格式的收件人 导致的混乱.
 
smtp.sendmailsmtp.send_message都是用于通过SMTP服务器发送邮件的Python函数,但它们之间存在一些区别。
  1. smtp.sendmail: 这是一个低级别的方法,用于发送邮件。它需要传入三个参数:发件人地址,收件人地址(可以是一个列表),以及邮件的原始内容(一个字符串)。邮件的内容需要包含所有的头部信息(如"From","To","Subject"等),并需要手动格式化。这意味着,你需要自己创建并格式化邮件的各个部分。
  1. smtp.send_message: 这是一个较新的方法,用于发送email.message.Message类的实例(或者它的子类的实例,如email.mime.text.MIMETextemail.mime.multipart.MIMEMultipart等)。它自动格式化消息,并且还会处理邮件头部中的地址。这个方法使得创建复杂的邮件(如含有附件或HTML内容的邮件)更为简单。
如果你正在发送简单的纯文本邮件,那么两种方法都可以使用。但是,如果你要发送复杂的邮件(如含有附件,或者既有纯文本部分又有HTML部分的邮件),那么smtp.send_message会更为方便,因为你可以使用email.mime.*的类来创建邮件。

总结-现在方案

 
目前电信做 smtp 发信合适
收信方案暂时用移动
收信也用电信. 做限制, 只允许邮箱管理员和自己的信件进来.
 
客户端用 gmail 最快
有 mail 慢
用 foxmail 也慢.
 
对应的电信 移动 gmail 的 smtp 账号密码信息
evernote:///view/150259664/s388/b2c66a84-379f-b5ed-4962-d2f19040abc8/6d39d56c-7389-4d02-8468-d7352787dca5

遗留问题&思考

 
技术折腾
  • 中国网络
  • 开发
  • 折腾
  • MileStone
  • 声压相机中 camera 配置的默认 tuning 参数一些 openwrt 软件包名字 list
    目录