Python 是一种广泛使用的高级编程语言,它可以用于各种目的,包括发送电子邮件。在本文中,我们将学习如何使用 Python 向一个或多个收件人发送电子邮件。
一、安装第三方库
Python 自带有处理电子邮件的标准库,但是它有点难以使用。为了简化该过程并使其更易于理解,我们将使用 Python 的第三方库“smtplib”。
第一步是安装它,你可以在你的命令行终端输入以下命令:
pip install secure-smtplib
二、连接到 SMTP 服务器
SMTP(Simple Mail Transfer Protocol)是一种用于发送和传输电子邮件的标准协议。在向电子邮件发送者发送电子邮件之前,你需要使用 SMTP 地址、端口和你的凭据来与 SMTP 服务器建立连接。
以下是一个示例代码的大致结构,用于连接到 SMTP 服务器:
import smtplib
smtp_server = "smtp.gmail.com"
port = 587 # 一般情况下使用587端口
sender_email = "you@gmail.com"
password = "yourpassword"
# 创建 SMTP 服务器连接实例
server = smtplib.SMTP(smtp_server, port)
# 发送 SMTP 操作的 'hello' 消息
server.ehlo()
# 开启 TLS 加密
server.starttls()
# 登录到你的 Gmail 帐户
server.login(sender_email, password)
三、撰写邮件主体
创建电子邮件主体非常简单:只需使用“email.message.Message”类创建一个新的消息对象,将发送者、收件人、邮件主题和正文添加到消息中。
from email.message import EmailMessage
recipient_email = "recipient@example.com"
subject = "邮件主题"
body = "邮件正文"
# 创建一个 EmailMessage 实例
message = EmailMessage()
# 添加发件人、收件人、主题和正文
message['From'] = sender_email
message['To'] = recipient_email
message['Subject'] = subject
message.set_content(body)
四、发送邮件
最后一步是将消息发送到 SMTP 服务器以通过电子邮件发送。这个过程非常简单,并且只需要使用“send_message”方法将邮件消息从 Python 代码发送到 SMTP 服务器。
# 发送邮件
server.send_message(message)
# 关闭 SMTP 连接
server.quit()
五、完整代码示例
下面是完整的 Python 示例代码,包括与 SMTP 服务器建立连接、邮件主体制作和发送邮件:
import smtplib
from email.message import EmailMessage
smtp_server = "smtp.gmail.com"
port = 587 # 一般情况下使用587端口
sender_email = "you@gmail.com"
password = "yourpassword"
recipient_email = "recipient@example.com"
subject = "邮件主题"
body = "邮件正文"
# 创建 SMTP 服务器连接实例
server = smtplib.SMTP(smtp_server, port)
# 发送 SMTP 操作的 'hello' 消息
server.ehlo()
# 开启 TLS 加密
server.starttls()
# 登录到您的 Gmail 帐户
server.login(sender_email, password)
# 创建一个 EmailMessage 实例
message = EmailMessage()
# 添加发件人、收件人、主题和正文
message['From'] = sender_email
message['To'] = recipient_email
message['Subject'] = subject
message.set_content(body)
# 发送邮件
server.send_message(message)
# 关闭 SMTP 连接
server.quit()
恭喜!现在你已经知道如何使用 Python 发送电子邮件了!