gpt4 book ai didi

Python - 发送带有多个图像附件的电子邮件

转载 作者:太空宇宙 更新时间:2023-11-03 10:53:06 25 4
gpt4 key购买 nike

我正在尝试使用 Python 发送带有多个图像附件的电子邮件。但是,使用下面的代码,我可以在文本正文中包含第一张图片,但第二张图片作为附件附加到电子邮件中。有没有办法在 HTML 正文中获取这两个图像?以下是我当前的代码。

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

strFrom = 'user@provider.com'
strTo = 'user@provider.com'

msgRoot = MIMEMultipart('related')
msgRoot['Subject'] = 'Test message'
msgRoot['From'] = 'user@provider.com'
msgRoot['To'] = 'user@provider.com'
msgRoot.preamble = 'This is a multi-part message in MIME format.'

msgAlternative = MIMEMultipart('alternative')
msgRoot.attach(msgAlternative)

msgText = MIMEText('This is the alternative plain text message.')
msgAlternative.attach(msgText)

msgText = MIMEText('<b>Test HTML with Images</b><br><br>'
'<img src="cid:image1">'
'<br>'
'<br>'
'<img src="cid:image2">'
'<br>'
'<br>'
'Sending Two Attachments', 'html')

msgAlternative.attach(msgText)

fp = open('image1.png', 'rb')
msgImage = MIMEImage(fp.read())
fp.close()
msgImage.add_header('Content-ID', '<image1>')
msgRoot.attach(msgImage)

fp = open('image2.png', 'rb')
msgImage2 = MIMEImage(fp.read())
fp.close()
msgImage.add_header('Content-ID', '<image2>')
msgRoot.attach(msgImage2)

import smtplib
smtp = smtplib.SMTP('localhost')
smtp.sendmail(strFrom, strTo, msgRoot.as_string())
smtp.quit()

最佳答案

我认为代码应该是:

fp = open('image1.png', 'rb')
msgImage1 = MIMEImage(fp.read())
fp.close()
msgImage.add_header('Content-ID', '<image1>')
msgRoot.attach(msgImage1)

fp = open('image2.png', 'rb')
msgImage2 = MIMEImage(fp.read())
fp.close()
msgImage.add_header('Content-ID', '<image2>')
msgRoot.attach(msgImage2)

您需要指定它是 image1 而不仅仅是 image

关于Python - 发送带有多个图像附件的电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46460796/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com