您的位置:

使用Python SMTP发送电子邮件

一、安装和导入必要的库

在使用Python发送电子邮件之前,我们需要安装两个库。第一个是smtplib库,它提供了SMTP客户端会话对象,用于发送邮件。第二个是email库,用于构建邮件。可以使用pip安装这两个库:

pip install smtplib
pip install email

导入库:

import smtplib
from email.mime.text import MIMEText
from email.header import Header

二、设置邮件内容

邮件内容需要设置为MIME格式。

msg = MIMEText('邮件内容', 'plain', 'utf-8')

上面的代码设置了邮件内容为普通文本格式,编码为utf-8。如果你想发送HTML格式的邮件,可以将第二个参数设置为‘html’,然后邮件的正文就可以包含HTML标签了。

三、设置邮件头部信息

设置发件人和收件人的邮件地址:

msg['From'] = Header("发件人名称", 'utf-8')
msg['To'] = Header("收件人名称", 'utf-8')

以上代码中的发件人和收件人名称可以自定义,但需要注意的是,在邮件中使用对方的姓名可能会被识别为垃圾邮件。如果您要发送给多个收件人,可以使用英文逗号分隔:

msg['To'] = Header("收件人1, 收件人2, 收件人3", 'utf-8')

四、登录SMTP服务器

在发送邮件之前需要先登录您的SMTP服务器。如果您使用的是Gmail,则需要启用“安全性较低的应用程序访问”选项。下面的代码展示了如何登录Gmail的SMTP服务器。

# 第一步:连接到smtp服务器
smtpObj = smtplib.SMTP_SSL('smtp.gmail.com', 465)

# 第二步:登录到smtp服务器
smtpObj.login("YOUR_EMAIL_ADDRESS", "YOUR_EMAIL_PASSWORD")

请将“YOUR_EMAIL_ADDRESS”替换为您的电子邮件地址,“YOUR_EMAIL_PASSWORD”替换为您的电子邮件密码。如果您使用的不是Gmail,请找到对应的SMTP服务器和相应的端口号并进行更改。

五、发送邮件

登录成功后,使用sendmail()方法发送邮件:

smtpObj.sendmail(sender, receivers, message.as_string())

这里的“sender”是发件人的电子邮件地址,“receivers”是一个包含所有收件人地址的列表,“message”是您设置的邮件格式。

六、完整代码示例

import smtplib
from email.mime.text import MIMEText
from email.header import Header

# 第一步:设置邮件内容
msg = MIMEText('邮件内容', 'plain', 'utf-8')

# 第二步:设置邮件头部信息
msg['From'] = Header("发件人名称", 'utf-8')
msg['To'] = Header("收件人名称", 'utf-8')

# 第三步:连接smtp服务器并登录
smtpObj = smtplib.SMTP_SSL('smtp.gmail.com', 465)
smtpObj.login("YOUR_EMAIL_ADDRESS", "YOUR_EMAIL_PASSWORD")

# 第四步:发送邮件
sender = "YOUR_EMAIL_ADDRESS"
receivers = ["收件人1", "收件人2", "收件人3"]
smtpObj.sendmail(sender, receivers, msg.as_string())

七、总结

以上就是使用Python SMTP发送电子邮件的完整流程。使用Python发送邮件是非常简单的,它可以帮助您管理大量邮件,无论是自动发送电子邮件、定时发送电子邮件还是其他的邮件应用程序。希望这篇文章可以帮助您理解如何使用Python发送邮件。