Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在html中嵌入图像以自动发送outlook365电子邮件_Python_Email_Outlook_Smtp - Fatal编程技术网

Python 在html中嵌入图像以自动发送outlook365电子邮件

Python 在html中嵌入图像以自动发送outlook365电子邮件,python,email,outlook,smtp,Python,Email,Outlook,Smtp,我正在尝试在python中使用smtp和电子邮件在html代码中嵌入和映像。 套餐包括: 导入smtplib 从email.mime.multipart导入MIMEMultipart 从email.mime.text导入MIMEText 这是html中的代码段 <img border=0 width=231 height=67 src="Hello_files/image001.png"> 这是我在实际发送的电子邮件中看到的 我觉得我做了一些非常错误的事情,这对大多数人来说可

我正在尝试在python中使用smtp和电子邮件在html代码中嵌入和映像。 套餐包括: 导入smtplib 从email.mime.multipart导入MIMEMultipart 从email.mime.text导入MIMEText

这是html中的代码段

<img border=0 width=231 height=67 src="Hello_files/image001.png">

这是我在实际发送的电子邮件中看到的


我觉得我做了一些非常错误的事情,这对大多数人来说可能是显而易见的。

基于您的HTML代码片段,我将对此进行分析

您的HTML

<img border=0 width=231 height=67 src="Hello_files/image001.png">
<img src='cid:image1' alt='image' style="display: block;margin: auto;width: 100%;">

您正在引用本地文件系统中显示的图像,但在收件人计算机中的电子邮件上下文中,该目录和文件名将不存在

示例HTML

<img border=0 width=231 height=67 src="Hello_files/image001.png">
<img src='cid:image1' alt='image' style="display: block;margin: auto;width: 100%;">

这里我们将图像引用为cid:image1。在python代码中,我们加载图像并对其进行编码,以与html匹配。在下面的示例中,image test.png与python脚本位于同一目录中

MIME图像编码示例

s = smtplib.SMTP(host='smtp.gmail.com', port=587)
s.starttls()
s.login('email','password')

msg = MIMEMultipart()  # create a message

email_body = "<img src='cid:image1' alt='image' style="display: block;margin: auto;width: 100%;">"

# Read and encode the image
img_data = open('./test.png', 'rb').read()
image = MIMEImage(img_data)
image.add_header('Content-ID', '<image1>')
msg.attach(image)

# Construct the email
msg['From']='swetjen@someplace.com'
msg['To']='swetjen@someplace.com'
msg['Subject']='My email with an embedded image.'

msg.attach(MIMEText(email_body, _subtype='html'))

s.send_message(msg)
s=smtplib.SMTP(host='SMTP.gmail.com',port=587)
s、 starttls()
s、 登录('电子邮件','密码')
msg=MIMEMultipart()#创建一条消息
email_body=“”
#读取并编码图像
img_data=open('./test.png',rb').read()
图像=模拟图像(img_数据)
image.add_头('Content-ID','')
附加信息(图片)
#构建电子邮件
msg['From']='swetjen@someplace.com'
msg['To']='swetjen@someplace.com'
msg['Subject']='My email with a embedded image'
msg.attach(MIMEText(email_body,_subtype='html'))
s、 发送消息(msg)

可能重复的Nope不是重复的。他们有两个我没有你能发布你在smtplib中使用的代码吗@梅格夫