📜  Python 3-使用SMTP发送电子邮件(1)

📅  最后修改于: 2023-12-03 14:45:55.560000             🧑  作者: Mango

Python 3 - 使用SMTP发送电子邮件

SMTP (Simple Mail Transfer Protocol) 是用于发送电子邮件的标准协议。Python 3 中内置了 smtplib 模块,可以方便地使用 SMTP 发送电子邮件。

下面是一个简单的示例:

import smtplib

# 设置发件人、收件人邮箱和SMTP服务器地址
from_address = 'your_email_address'
to_address = 'recipient_email_address'
smtp_server = 'your_smtp_server_address'

# 设置用户名和密码(如果需要的话)
username = 'your_username'
password = 'your_password'

# 构造邮件
subject = 'Test email from Python'
message = 'This is a test email sent from Python!'
msg = 'Subject: {}\n\n{}'.format(subject, message).encode('utf-8')

# 发送邮件
with smtplib.SMTP(smtp_server) as server:
    # 登录SMTP服务器(如果需要的话)
    server.login(username, password)

    # 发送邮件
    server.sendmail(from_address, to_address, msg)

上面的示例中,我们首先设置了发件人、收件人邮箱和 SMTP 服务器地址。如果需要登录 SMTP 服务器,还需要设置用户名和密码。

然后,我们构造了邮件的主题和内容,然后把它们拼起来,并转换成 UTF-8 编码的字节串。

最后,我们使用 smtplib.SMTP 类连接到 SMTP 服务器,并登录(如果需要的话)。然后,使用 server.sendmail 方法发送邮件。

注意,发送邮件的过程中可能会出现各种各样的问题,比如 SMTP 服务器拒绝访问、用户名密码错误等等。为了确保邮件发送成功,可以使用 try...except 语句捕获异常。

以上就是使用 Python 3 发送电子邮件的基本方法。如果需要更复杂的邮件功能,比如发送带有附件或 HTML 格式的邮件,可以使用 Python 的第三方邮件库,比如 emailyagmail