2019年1月23日星期三

简单易用的Python发邮件工具:yagmail

在Python里发邮件,yagmail大概是目前最简单易用的方式。

yagmail的作者主页已经把教程写得很清楚了,这里我把自己尝试后的体会写下来。

第一步是在Python里安装yagmail,用 pip install yagmail 即可。

接下来开始发邮件了:



收件人可以设置多个,可以对每个收件人设置昵称,可以发送html格式的邮件,发送其他附件,也可以使图片在邮件正文显示,关于上述这些,这里就不多说了,可参见yagmail的作者主页。

这里我想说明的是“账号密码问题”。直接在代码里写明文的密码显然不安全,yagmail的作者推荐的方式是用keyring。

在操作yagmail之前,可以先配置账号密码,运行如下代码:


上述代码会把邮箱账号密码保存在电脑里。如果是Windows,账号密码的位置是“控制面板-凭据管理器-Windows凭据”,在这个位置下其实还可以看到Windows账户的登陆信息。

有了keyring存储的密码,这样以后发邮件就不用在yagmail明文输入密码了,我们先前的代码可以改为:

注意到此时已不需要填写密码了。

IPv6 的 fe80开头的地址

fe80开头的 ipv6 地址不是公网地址,没人给你分ip,自动协商的地址,通常无法用于上网。 现在各大运营商用的ipv6: 电信是240e开头的(240e::/20) 移动是2409开头的(2409:8000::/20) 联通是2408开头的(2408:8000::/20)