📅  最后修改于: 2023-12-03 15:36:34.369000             🧑  作者: Mango
在电子邮件中嵌入图片可以让邮件更加生动、直观,让接收者更加容易理解内容。而使用 Python 的标准库 smtplib 可以方便地实现在邮件中添加图片的功能。
在编写 Python 代码之前,我们需要确保以下几点:
下面是一个通过 Gmail 的 SMTP 服务器发送邮件,并在邮件内容中嵌入图片的 Python 代码示例:
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.image import MIMEImage
import base64
# 邮箱地址和密码
user_email = 'your_email@gmail.com'
user_password = 'your_email_password'
# 邮件发送者和接收者
from_addr = user_email
to_addr = 'recipient_email@example.com'
# 邮件主题
subject = 'This is a test email with image attachment'
# 邮件内容
text = MIMEText('This is a test email with image attachment.')
msg = MIMEMultipart()
msg.attach(text)
# 加载图片数据并将其加入邮件中
with open('image.jpg', 'rb') as f:
image_data = f.read()
image_b64 = base64.b64encode(image_data).decode()
image = MIMEImage(base64.b64decode(image_b64))
image.add_header('Content-Disposition', 'attachment;filename=image.jpg')
msg.attach(image)
# 发送邮件
msg['From'] = from_addr
msg['To'] = to_addr
msg['Subject'] = subject
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login(user_email, user_password)
server.sendmail(from_addr, to_addr, msg.as_string())
server.quit()
以上代码主要分为以下几个步骤:
通过以上代码,我们可以了解如何使用 Python 的标准库 smtplib 在电子邮件中嵌入图片。在实际应用中,我们可以根据需要对代码进行修改和优化,比如将图片保存在服务器上,或者动态地生成图片数据。