使用Python的email.mime.imageMIMEImage()类实现图片附件邮件的发送
发布时间:2023-12-19 01:49:20
发送带有图片附件的邮件是一种常见的邮件应用场景, 可以使用Python的email.mime.imageMIMEImage()类实现这个功能.
下面是一个使用Python实现发送带有图片附件邮件的例子:
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
# 设置发件人,收件人和邮件主题
from_addr = "your_email@example.com"
to_addr = "recipient@example.com"
subject = "Email with Attached Image"
# 创建一个多部件MIME消息
msg = MIMEMultipart()
# 设置邮件的文本内容
text = MIMEText("This is an email with an attached image.")
msg.attach(text)
# 加载图片文件并创建MIMEImage对象
with open("image.jpg", "rb") as image_file:
image_data = image_file.read()
image = MIMEImage(image_data, name="image.jpg")
# 将图片附加到邮件中
msg.attach(image)
# 设置发件人,收件人和主题
msg["From"] = from_addr
msg["To"] = to_addr
msg["Subject"] = subject
# 发送邮件
try:
# 连接到SMTP服务器
smtp_server = "smtp.example.com"
smtp_port = 587
smtp_username = "your_username"
smtp_password = "your_password"
server = smtplib.SMTP(smtp_server, smtp_port)
server.starttls()
server.login(smtp_username, smtp_password)
# 发送邮件
server.send_message(msg)
server.quit()
except smtplib.SMTPException as e:
print("Error sending email:", str(e))
else:
print("Email sent successfully")
在上面的示例中, 我们首先导入了需要的模块, 并设置了发件人、收件人和邮件主题。然后,创建了一个MIMEMultipart对象作为邮件的容器,设置了邮件的文本内容。接着,我们打开图片文件,读取图片数据,并使用MIMEImage类创建了一个MIMEImage对象。最后,将图片对象附加到邮件中。设置完毕后,我们连接到SMTP服务器,登录账号并发送邮件。
需要注意的是,我们需要将以上代码中的"your_email@example.com", "recipient@example.com"替换为实际的发件人和收件人电子邮件地址,"image.jpg"替换为实际的图片文件名,"smtp.example.com", 587, "your_username", "your_password"替换为实际的SMTP服务器地址、端口号、用户名和密码。
