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

使用Python的email.mime.image模块发送带有图片的邮件示例代码

发布时间:2023-12-14 19:27:12

使用Python的email.mime.image模块可以发送带有图片的邮件。下面是一个示例代码,演示了如何使用该模块发送带有图片的邮件。

首先,需要导入所需的模块和类:

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.image import MIMEImage
from email.mime.text import MIMEText

然后,创建一个包含图片附件的MIMEMultipart对象:

msg = MIMEMultipart()

添加邮件的主题、发件人和收件人信息:

msg['Subject'] = '邮件主题'
msg['From'] = '发件人邮箱地址'
msg['To'] = '收件人邮箱地址'

添加邮件的正文内容:

body = MIMEText('邮件正文', 'plain')
msg.attach(body)

读取图片文件,并创建一个MIMEImage对象:

with open('图片文件路径', 'rb') as f:
    img = MIMEImage(f.read())

指定图片的Content-ID,并添加到msg对象中:

img.add_header('Content-ID', '<image1>')
msg.attach(img)

发送邮件:

smtp = smtplib.SMTP('smtp服务器地址', 端口号)
smtp.login('发件人邮箱地址', '发件人邮箱密码')
smtp.sendmail('发件人邮箱地址', ['收件人邮箱地址'], msg.as_string())
smtp.quit()

完整的示例代码如下所示:

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.image import MIMEImage
from email.mime.text import MIMEText

msg = MIMEMultipart()
msg['Subject'] = '邮件主题'
msg['From'] = '发件人邮箱地址'
msg['To'] = '收件人邮箱地址'

body = MIMEText('邮件正文', 'plain')
msg.attach(body)

with open('图片文件路径', 'rb') as f:
    img = MIMEImage(f.read())

img.add_header('Content-ID', '<image1>')
msg.attach(img)

smtp = smtplib.SMTP('smtp服务器地址', 端口号)
smtp.login('发件人邮箱地址', '发件人邮箱密码')
smtp.sendmail('发件人邮箱地址', ['收件人邮箱地址'], msg.as_string())
smtp.quit()

请注意,需要替换代码中的一些信息:

1. 将“发件人邮箱地址”和“发件人邮箱密码”替换为实际的发件人邮箱和密码。

2. 将“收件人邮箱地址”替换为实际的收件人邮箱。

3. 将“smtp服务器地址”和“端口号”替换为实际的SMTP服务器地址和端口号。

4. 将“图片文件路径”替换为实际的图片文件路径。

该示例代码使用了smtplib模块来实现邮件的发送,需要确保计算机上已经安装了相应的SMTP服务器。