在Python中使用MIMEText发送富文本格式的电子邮件
发布时间:2024-01-01 06:52:35
发送富文本格式的电子邮件主要可以通过使用MIMEText类来实现,MIMEText类是email.mime.text模块中的一个类,用于创建MIME格式的邮件正文。
下面是一个使用MIMEText发送富文本格式的电子邮件的示例代码:
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
# 设置发件人、收件人和邮件主题
sender = 'sender@example.com'
receiver = 'receiver@example.com'
subject = '富文本格式邮件示例'
# 创建MIMEMultipart对象,并设置相关属性
msg = MIMEMultipart('alternative')
msg['From'] = sender
msg['To'] = receiver
msg['Subject'] = subject
# 创建HTML格式的邮件正文
html = """
<html>
<head></head>
<body>
<p>这是一封使用富文本格式的邮件示例。</p>
<p>以下是一些<strong>加粗</strong>和<em>斜体</em>的文字。</p>
<p>这是一个链接:<a href="https://www.example.com">点击这里</a></p>
<p>这是一个图片:</p>
<p><img src="https://www.example.com/image.jpg" alt="Image"></p>
</body>
</html>
"""
# 创建MIMEText对象,并将其添加到MIMEMultipart对象中
html_part = MIMEText(html, 'html')
msg.attach(html_part)
# 发送邮件
try:
smtp_obj = smtplib.SMTP('smtp.example.com', 587)
smtp_obj.starttls()
smtp_obj.login('username', 'password')
smtp_obj.sendmail(sender, receiver, msg.as_string())
smtp_obj.quit()
print('邮件发送成功')
except smtplib.SMTPException:
print('邮件发送失败')
在示例代码中,首先导入了smtplib和email.mime.multipart模块中的类和函数。然后,设置了发件人、收件人和邮件主题。
接下来,创建了一个MIMEMultipart对象,并设置了发件人、收件人和邮件主题属性。
然后,定义了HTML格式的邮件正文,包含了一些加粗和斜体的文字,以及一个链接和一张图片。
创建了一个MIMEText对象,并将其添加到MIMEMultipart对象中。在MIMEText对象的构造函数中, 个参数是邮件正文的内容,第二个参数是邮件正文的类型,这里使用了'html',表示邮件正文是HTML格式的。
最后,使用smtplib.SMTP类来发送邮件。首先,创建了一个SMTP对象,并设置SMTP服务器的地址和端口。然后,调用starttls()方法,开启TLS加密。接着,调用login()方法,使用用户名和密码进行登录。最后,调用sendmail()方法,将发送方、接收方和邮件内容作为参数发送出去。
如果邮件发送成功,则会输出"邮件发送成功";如果邮件发送失败,则会输出"邮件发送失败"。
