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

Python中email.mime.imageMIMEImage()用于发送带有图像附件的邮件示例

发布时间:2023-12-19 01:51:13

email.mime.imageMIMEImage()是Python中email.mime模块的一个类,用于创建一个带有图像附件的邮件。

下面是一个使用email.mime.imageMIMEImage()发送带有图像附件的邮件的示例:

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

# 创建邮件
msg = MIMEMultipart()
msg['From'] = 'sender@example.com'
msg['To'] = 'receiver@example.com'
msg['Subject'] = 'Email with image attachment'

# 添加邮件正文
body = '''
This is an email with an image attachment.
'''
msg.attach(MIMEText(body, 'plain'))

# 添加图像附件
with open('image.jpg', 'rb') as f:
    image_data = f.read()
image = MIMEImage(image_data, name='image.jpg')
msg.attach(image)

# 发送邮件
try:
    server = smtplib.SMTP('smtp.example.com', 587)
    server.starttls()
    server.login('sender@example.com', 'password')
    server.sendmail('sender@example.com', 'receiver@example.com', msg.as_string())
    server.quit()
    print("Email sent successfully!")
except Exception as e:
    print("Error sending email:", str(e))

在上面的示例中,我们首先导入了所需的模块。然后,我们创建一个MIMEMultipart对象msg作为邮件的主体。我们使用MIMEText类添加邮件正文,并使用MIMEImage类添加图像附件。

在添加图像附件时,我们首先打开图像文件,读取图像数据,并创建一个MIMEImage对象。我们还可以通过设置name参数,为图像指定一个附件名称。

最后,我们使用smtplib模块发送邮件。我们首先创建一个SMTP对象,并与SMTP服务器建立连接。然后,我们使用starttls()方法启用TLS加密,并使用login()方法登录SMTP服务器。最后,我们使用sendmail()方法发送邮件,并使用quit()方法关闭连接。

请确保将示例中的发送者电子邮件地址、收件人电子邮件地址、SMTP服务器和身份验证凭据替换为实际的值。同时,请将image.jpg替换为实际的图像文件。

以上就是一个使用email.mime.imageMIMEImage()发送带有图像附件的邮件的示例。使用这个类,你可以方便地在Python中创建并发送带有图像附件的邮件。