一、安装和导入必要的库
在使用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发送邮件。