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

Posted rancher-maomao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在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端口,也不支持TLS的587端口(比如QQ邮箱)。

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

 

四、相关截图

01-py_smtp源码

 技术图片

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

 技术图片

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

 技术图片

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

 技术图片

 

参考链接:

py-smtp 1.0.8

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

以上是关于在Python中使用SMTP发送电子邮件的主要内容,如果未能解决你的问题,请参考以下文章

Python SMTP发送邮件Ⅱ

python==使用smtp发送邮件的源代码,解决554错误码的问题

使用python发送邮件会出错

使用 smtp 和 Python 发送电子邮件时出现 SSL 错误

Python SMTP库空白电子邮件随着时间的推移

[Python3]SMTP发送邮件