使用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服务器。
