【发布时间】:2017-11-05 15:35:24
【问题描述】:
我正在测试发送带有嵌入 png 文件的电子邮件。我使用代码:
from smtplib import SMTP
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
template ="""
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h2>Image Test</h2>
<img src="/home/depot/wintergreen/mplplots/01.png">
</body>
</html>"""
MAIL_HOST = 'smtp.gmail.com:587'
MAIL_USER = 'xxx@gmail.com'
MAIL_PASSWORD = 'xxx'
MAIL_REPICIENTS = ['vincent.konate@gmail.com']
message = MIMEMultipart('alternative')
message['Subject'] = "Test Image"
html = MIMEText(template, 'html', "utf-8")
message.attach(html)
smtp = SMTP(MAIL_HOST)
smtp.ehlo()
smtp.starttls()
smtp.login(MAIL_USER, MAIL_PASSWORD)
smtp.sendmail(MAIL_USER, MAIL_REPICIENTS, message.as_string())
smtp.close()
我正在使用 Jupyter 笔记本进行测试;当我输入
from IPython.display import Image
Image("/home/depot/wintergreen/mplplots/01.png")
图片显示,所以路径是正确的。
这里有什么问题?
【问题讨论】:
-
您认为 Gmail 会如何访问您本地硬盘上的图像?!你还没有嵌入任何东西。
-
@jonrsharpe 那么我如何将图像附加到电子邮件中?
-
@jonrsharpe 是的,我查了所有这些,但我不熟悉这个概念,所以无法适应我的例子。所以我知道我应该使用内容 ID?
-
然后发布您的尝试minimal reproducible example,说明您卡在哪里。鉴于已接受的答案,这似乎是个好主意。
标签: python