【发布时间】:2018-06-29 20:42:47
【问题描述】:
我正在使用 Python 的 smtplib 生成电子邮件,并且我正在尝试重新创建一个签名以放置在每封电子邮件的底部。以下是对该签名的高度详细和精湛的再现:
文本部分我已经弄清楚了。
body = """\
<html>
<head></head>
<body>
stuff
</body>
</html>
"""
然后我将其附加到消息中:
message_body = MIMEText(body, 'html')
message.attach(message_body)
我似乎无法弄清楚如何嵌入图像,以便它们的格式如上图所示。图片中的线条只是为了显示对齐,但它们不存在于签名本身中。图像还包含超链接。
我尝试过将其添加到 <body> 标记的最末尾,以至少在底部重新创建较小的图像:
<img src="C:\Users\Me\Desktop\image1.png">
<img src="C:\Users\Me\Desktop\image2.png">
我没有收到任何错误,但发送电子邮件时也没有任何显示。我不知道如何开始格式化应该位于签名中文本左侧的较大图像。
我可以使用MIMEImage 成功地将这些图像作为附件包含在电子邮件中,但我不希望它们作为附件,所以这不起作用。
如上嵌入图像后,我想我可以做这样的事情来添加超链接:
<a href="https://www.example.com">
<img src="img1.png" alt="example.com">
</a>
我是 HTML 新手,所以这些对我来说是未知的领域,我不知道该怎么做。我在这里阅读了很多也提到base64编码的问题,但我不知道它是否适用于这种情况。
任何帮助将不胜感激。谢谢!
编辑:here 发布的新问题解决了编码和发送后,已发送电子邮件中的图像显示为空白的问题。
【问题讨论】:
-
您是否尝试过将图像上传到网络服务器,然后使用 img 路径而不是本地路径?
-
@JiiB 该脚本将在本地机器上运行,因此图像可能会保存在机器本身或机器可以访问的某个目录中。