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

Python实现使用email.mime.image模块发送带图片附件的邮件示例

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

发送带图片附件的邮件,需要使用Python的email和smtplib模块。具体实现步骤如下:

导入所需的模块:

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

设置发件人、收件人和邮箱服务器信息:

fromaddr = "your_email@gmail.com"
toaddr = "recipient_email@gmail.com"
username = "your_email@gmail.com"
password = "your_email_password"

创建邮件对象,添加发件人、收件人和主题:

msg = MIMEMultipart()
msg['From'] = fromaddr
msg['To'] = toaddr
msg['Subject'] = "邮件主题"

添加文本内容:

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

添加图片附件:

with open("image.jpg", 'rb') as f:
    img_data = f.read()
msg.attach(MIMEImage(img_data, name="image.jpg"))

发送邮件:

server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login(username, password)
server.send_message(msg)
server.quit()

完整示例代码如下:

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

fromaddr = "your_email@gmail.com"
toaddr = "recipient_email@gmail.com"
username = "your_email@gmail.com"
password = "your_email_password"

msg = MIMEMultipart()
msg['From'] = fromaddr
msg['To'] = toaddr
msg['Subject'] = "邮件主题"

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

with open("image.jpg", 'rb') as f:
    img_data = f.read()
msg.attach(MIMEImage(img_data, name="image.jpg"))

server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login(username, password)
server.send_message(msg)
server.quit()

以上示例代码使用了Gmail作为发件邮箱,需要注意在使用时将fromaddrtoaddrusernamepassword替换为实际的邮箱地址和密码。

希望这个示例能帮到你!