如何在Python中使用email.mime.text发送带图片的中文邮件
发布时间:2024-01-11 10:34:11
在Python中发送带图片的中文邮件,可以使用email.mime.text模块。以下是一个使用例子:
1. 导入相关模块和类:
import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email.mime.image import MIMEImage
2. 创建邮件对象:
msg = MIMEMultipart() msg['From'] = '发件人邮箱' msg['To'] = '收件人邮箱' msg['Subject'] = '邮件主题'
3. 添加邮件正文内容:
text = """ 邮件正文内容... """ body = MIMEText(text, 'plain', 'utf-8') msg.attach(body)
4. 添加图片附件:
with open('图片路径', 'rb') as f:
image = MIMEImage(f.read())
image.add_header('Content-ID', '<image1>')
msg.attach(image)
注意:需要将“图片路径”替换为实际的图片文件路径。
5. 连接SMTP服务器并发送邮件:
try:
server = smtplib.SMTP_SSL('SMTP服务器地址')
server.login('发件人邮箱', '邮箱密码')
server.sendmail('发件人邮箱', '收件人邮箱', msg.as_string())
server.quit()
print('邮件发送成功')
except smtplib.SMTPException as e:
print('邮件发送失败:', e)
注意:需要将“SMTP服务器地址”替换为实际的SMTP服务器地址,将“发件人邮箱”和“邮箱密码”替换为实际的发件人邮箱和密码,将“收件人邮箱”替换为实际的收件人邮箱。
完整例子如下:
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
msg = MIMEMultipart()
msg['From'] = '发件人邮箱'
msg['To'] = '收件人邮箱'
msg['Subject'] = '邮件主题'
text = """
邮件正文内容...
"""
body = MIMEText(text, 'plain', 'utf-8')
msg.attach(body)
with open('图片路径', 'rb') as f:
image = MIMEImage(f.read())
image.add_header('Content-ID', '<image1>')
msg.attach(image)
try:
server = smtplib.SMTP_SSL('SMTP服务器地址')
server.login('发件人邮箱', '邮箱密码')
server.sendmail('发件人邮箱', '收件人邮箱', msg.as_string())
server.quit()
print('邮件发送成功')
except smtplib.SMTPException as e:
print('邮件发送失败:', e)
记得根据实际情况修改上述代码中的发件人邮箱、收件人邮箱、邮件主题、图片路径和SMTP服务器地址等参数。
