Python中如何使用smtplib发送HTML格式的电子邮件
发布时间:2024-01-16 04:08:00
在Python中,可以使用smtplib模块来发送HTML格式的电子邮件。SMTP即简单邮件传输协议,它是一个用于发送和接收邮件的协议。下面是一个使用smtplib发送HTML格式的电子邮件的例子:
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
# 发件人邮箱地址
sender_email = "your_sender_email@gmail.com"
# 发件人邮箱密码(注意:这里的密码指的是授权码,不是登录密码)
sender_password = "your_sender_password"
# 收件人邮箱地址
recipient_email = "your_recipient_email@gmail.com"
# 创建MIMEMultipart对象,表示邮件的整体
msg = MIMEMultipart()
msg["From"] = sender_email
msg["To"] = recipient_email
msg["Subject"] = "HTML格式邮件"
# 创建HTML内容
html_content = """
<html>
<head></head>
<body>
<h1>HTML格式邮件示例</h1>
<p>这是一封使用Python发送的HTML格式邮件。</p>
</body>
</html>
"""
# 创建MIMEText对象,用于包装HTML内容
html_part = MIMEText(html_content, "html")
# 将MIMEText对象添加到MIMEMultipart对象中
msg.attach(html_part)
# 创建SMTP对象,并连接到SMTP服务器
smtp_server = "smtp.gmail.com"
smtp_port = 587
smtp = smtplib.SMTP(smtp_server, smtp_port)
smtp.starttls()
smtp.login(sender_email, sender_password)
# 发送邮件
smtp.sendmail(sender_email, recipient_email, msg.as_string())
smtp.quit()
在上面的例子中,我们首先导入了smtplib模块的SMTP类,以及email模块的MIMEMultipart和MIMEText类。然后,我们指定了发件人的邮箱地址、密码,以及收件人的邮箱地址。
接下来,我们创建了一个MIMEMultipart对象,表示整体的邮件内容。我们设置了发件人、收件人和邮件主题。然后,我们创建了一个HTML内容,并使用MIMEText对象将HTML内容包装起来。
最后,我们创建了一个SMTP对象,并连接到SMTP服务器。我们启用了TLS加密,然后使用发件人的邮箱地址和授权码进行登录。最后,我们使用sendmail方法发送邮件,并调用quit方法关闭连接。
以上是使用smtplib发送HTML格式的电子邮件的一个例子。你可以根据自己的需求定制邮件内容、SMTP服务器和端口,以及发送人和接收人的邮箱地址。
