📅  最后修改于: 2023-12-03 15:38:23.729000             🧑  作者: Mango
发送电子邮件是日常生活和工作中必不可少的一项技能,Python 作为一种强大的编程语言,也提供了方便的邮件发送 API 来满足此需求。
本文将介绍如何在 Python 中使用 SMTP 发送电子邮件,让你轻松地完成电子邮件的发送。
在执行本文中的代码之前,你需要准备以下内容:
接下来是一个使用 Python 发送电子邮件的示例代码:
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
def send_email(sender_email, sender_password, receiver_email, subject, content):
try:
# 连接 smtp 服务器
smtp_server = 'smtp.xxx.com' # 请替换为你自己的 smtp 服务器
smtp_port = 587 # 请根据 smtp 服务器设置修改端口号
smtp_username = sender_email
smtp_password = sender_password
smtp_conn = smtplib.SMTP(smtp_server, smtp_port)
smtp_conn.starttls()
smtp_conn.login(smtp_username, smtp_password)
# 构造邮件内容
email_content = MIMEText(content, 'html', 'utf-8')
email_content['From'] = formataddr(['发件人姓名', sender_email])
email_content['To'] = formataddr(['收件人姓名', receiver_email])
email_content['Subject'] = subject
# 发送邮件
smtp_conn.sendmail(sender_email, [receiver_email], email_content.as_string())
# 关闭连接
smtp_conn.quit()
print('邮件发送成功')
except Exception as e:
print('邮件发送失败,错误信息:%s' % str(e))
# 发送邮件示例
send_email('example_sender@xxx.com', 'password', 'example_receiver@xxx.com', 'Python 发送电子邮件示例', '<h1>这是一封 Python 发送的邮件</h1>')
代码中使用的是 Python 标准库中的 smtplib
和 email
模块,具体内容如下:
smtplib
模块提供了 SMTP 协议的客户端实现,用于连接 SMTP 服务器并发送邮件。email.mime.text
模块提供了构造邮件内容的 API,可以设置邮件文本内容、附件、收发件人等信息。email.utils.formataddr
函数可以将邮件地址和名称格式化为标准格式。在代码中,首先通过 connect
方法连接到邮箱服务器,并通过 login
方法进行身份验证。在身份验证通过之后,构造邮件内容并通过 sendmail
方法发送邮件。最后通过 quit
方法关闭连接。
本文介绍了如何在 Python 中使用 SMTP 发送电子邮件,示例代码简单易懂,适合初学者学习。希望本文的内容对你有所帮助。