python3利用SMTP进行邮件Email自主发送

一、前言

利用python进行邮件的发送,这个功能自我感觉主要应用于检测或者报告之类,我两次运用这个功能。

第一次用在主要发送实时的数据给一个邮箱

第二次用是检测挂在服务器端一直在跑的python程序是否出现异常情况。

我这里采用163邮箱(sender)给qq邮箱(receiver)发送文本类邮件

二、提取163邮箱的客户端授权密码

首先登陆163邮箱的网页版本。

python3利用SMTP进行邮件Email自主发送

客户端授权密码

最后点击开启,自己设置密码即可。

之后这个密码不要忘记了,代码中要用到。

三、代码

show you my code

 

python3利用SMTP进行邮件Email自主发送

四、结果

可能出现这个问题

smtplib.SMTPDataError: (554, b'DT:SPM 163 smtp12,

python3利用SMTP进行邮件Email自主发送

error

解决方案,把测试和test类似的语句换掉,比如我的demo code中的比较正常的语言即可。

接收邮箱显示。

python3利用SMTP进行邮件Email自主发送

结果显示

有subject和content对应

对于在阿里云服务器上运行本文章有几处需要改动的地方。

首先因为阿里云服务器里面有很多端口都被限制,所以以下的代码在本地可以成功,但在云服务器上并出现问题

通过我的不断实验,最终成功的为port=587

并且我发送的邮件改为qq邮箱,接受为网易163邮箱,服务器host也改为"smtp.qq.com"

qq邮箱操作如下

qq邮箱操作如下

获取qq邮箱授权码

python3利用SMTP进行邮件Email自主发送

账户昵称

点击开启,给qq官方发送一个短信即可获得,别忘了复制保存。

python3利用SMTP进行邮件Email自主发送

开启服务

修改后的代码有改动,请自己对照使用,亲测好用

 

python3利用SMTP进行邮件Email自主发送

结果

python3利用SMTP进行邮件Email自主发送