首页 > 编程知识 正文

如何使用Python发送电子邮件?

时间:2023-11-21 05:56:21 阅读:289853 作者:IINP

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 发送电子邮件了!

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。