发送普通文本

使用email发送普通文本邮件,只需要在邮件正文中添加文本内容即可。在Python中,可以使用email模块中的MIMEText类来实现,示例代码如下:

from email.mime.text import MIMEText
msg = MIMEText('这是一封普通文本邮件', 'plain', 'utf-8')
# 添加邮件头

发送附件

发送附件需要使用email模块中的MIMEMultipart类。在实例化MIMEMultipart类之后,可以使用MIMEMultipart.attach()方法将附件附加到邮件中,示例代码如下:

from email.mime.multipart import MIMEMultipart
msg = MIMEMultipart()
# 添加邮件头
with open('test.jpg', 'rb') as f:
# 以二进制格式读取文件内容
mime = MIMEBase('image', 'jpg', filename='test.jpg')
# 加上必要的头信息
mime.add_header('Content-Disposition', 'attachment', filename='test.jpg')
mime.add_header('Content-ID', '<0>')
mime.add_header('X-Attachment-Id', '0')
# 把附件的内容读进来
mime.set_payload(f.read())
# 用Base64编码
encoders.encode_base64(mime)
# 添加到MIMEMultipart:
msg.attach(mime)

发送HTML格式邮件

发送HTML格式邮件,需要使用email模块中的MIMEText类,并将其subtype参数设置为html,示例代码如下:

from email.mime.text import MIMEText
msg = MIMEText('

这是一封HTML格式邮件

', 'html', 'utf-8')
# 添加邮件头