在Python中使用SMTP发送电子邮件


    Python中有内置的smtplib模块,完成一封邮件的发送,需要做很多准备工作。第三方的py_smtp这个包也是基于smtplib的,在Python中使用py_smtp发送电子邮件非常方便,只要填写发送邮件的相关信息即可。

一、安装模块

pip install py-smtp

二、发送邮件

from py_smtp import send
 
send('smtp服务器', 465,['发送人昵称', '发送人邮箱地址'], '密码', ['收件人1','收件人2','收件人3'], ['抄送人1','抄送人2'], '标题', '内容', ['附件1','附件2'])

三、注意事项:

1、该模块使用smtplib.SMTP_SSL(host, port)方法,只支持465端口进行SSL加密传送,能够满足大部分场景需要,比如使用263邮箱、139邮箱、QQ邮箱的465端口进行发送邮件。但不支持非加密的25端口,也不支持TLS587端口(比如QQ邮箱)。

2、如果使用QQ邮箱作为发送人,上述方法中的 '密码' 不是QQ邮箱的登录密码,而是授权码,需要登录到QQ邮箱的页面开启POP3/SMTP服务,并获取授权码,路径为:“设置”-“账户”-POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务”-POP3/SMTP服务 开启”

四、相关截图

01-py_smtp源码

 01-py_smtp源码.jpg

02-使用QQ邮箱发送到139邮箱的电子邮件

 02-使用send发送的电子邮件.jpg

03-QQ邮箱需开启POP3SMTP服务

 03-QQ邮箱开启POP3和SMTP服务.jpg

04-QQ邮箱需开启POP3SMTP服务

 04-QQ邮箱开启POP3和SMTP服务.jpg

参考链接:

py-smtp 1.0.8

https://pypi.org/project/py-smtp/


猜你喜欢

转载自blog.51cto.com/10321203/2385700