欢迎访问宙启技术站
智能推送

如何在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服务器地址等参数。