如何用python发送html格式的邮件
时间: 2024-05-14 08:12:31 浏览: 139
如何利用python发送邮件
以下是一个示例代码,展示如何使用Python发送HTML格式的电子邮件:
```python
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.image import MIMEImage
# 邮件发送者和接收者的信息
sender = 'sender@example.com'
receiver = 'receiver@example.com'
# 邮件主题
subject = 'HTML格式邮件'
# 邮件正文内容
html = """
<html>
<head></head>
<body>
<p>这是一封HTML格式的邮件!</p>
<p>以下是一张图片:</p>
<img src="cid:image1">
</body>
</html>
"""
# 创建包含HTML内容的MIMEText对象
msg = MIMEMultipart('related')
msg['Subject'] = subject
msg['From'] = sender
msg['To'] = receiver
html_part = MIMEText(html, 'html')
msg.attach(html_part)
# 添加图片
with open('image.jpg', 'rb') as f:
img = MIMEImage(f.read())
img.add_header('Content-ID', '<image1>')
msg.attach(img)
# 发送邮件
smtp_server = 'smtp.example.com'
smtp_port = 587
smtp_username = 'username'
smtp_password = 'password'
server = smtplib.SMTP(smtp_server, smtp_port)
server.ehlo()
server.starttls()
server.login(smtp_username, smtp_password)
server.sendmail(sender, receiver, msg.as_string())
server.quit()
```
在上述代码中,我们创建了一个 `MIMEMultipart` 对象,并使用 `MIMEText` 类将HTML内容添加为邮件正文。同时,我们还添加了一张图片,并使用 `MIMEImage` 类将其作为附件添加到邮件中,并在HTML中通过 `Content-ID` 引用该图片。最后,我们使用SMTP协议发送邮件。
阅读全文