我使用Python的smtplib
生成电子邮件,并尝试重新创建一个签名,放在每个电子邮件的底部。以下是对该签名的高度详细和巧妙的再现:
文本部分我已经弄清楚了。在
body = """\
<html>
<head></head>
<body>
stuff
</body>
</html>
"""
我把它附在留言上:
message_body = MIMEText(body, 'html')
message.attach(message_body)
我似乎搞不懂的是如何嵌入图像,使它们的格式如上图所示。图片中的线条只是为了表示对齐,但签名本身并不存在这些线条。图像还包含超链接。在
我尝试过在<body>
标记的末尾添加以下内容,以至少在底部重新创建较小的图像:
{cd5}
<img src="C:\Users\Me\Desktop\image2.png">
我没有收到任何错误,但也没有什么显示,当电子邮件发送。我不知道如何开始格式化签名中文本左侧的较大图像。在
我可以使用MIMEImage
将这些图像作为附件成功地包含在电子邮件中,但我不希望它们作为附件,所以这不起作用。在
在图像如上所述嵌入之后,我想我可以做些类似的事情来添加超链接:
^{pr2}$我刚接触HTML,所以对我来说这是一片未知的水域,我不知道该怎么做。我在这里读过很多关于base64编码的问题,但是我不知道它是否适用于这种情况。在
任何帮助都将不胜感激。谢谢!在
编辑:发布了一个新问题here,以解决这个问题,即一旦编码并发送,发送的电子邮件中的图像将显示为空白。在
如果你想在你的html中使用嵌入的图像,你需要在它之前对它们进行base64编码。在
一个html图像标记看起来像这样
在那里,你必须读取图像文件,并用pythons base64对其进行编码。在
否则,您需要引用包含图像的web资源。在
^{pr2}$第一个解决方案需要在每封电子邮件中发送图像。这会增加电子邮件的大小。在
第二种解决方案需要有一个公共的web资源,接收系统将在打开电子邮件后加载图像(如果他/她的电子邮件程序没有阻止它)。在
在你的情况下,我会尝试用你喜欢的编辑器和webbrowser以纯html格式设计电子邮件。此后,我将尝试使用给定的解决方案之一修改img标记。在
yout电子邮件设计的一些附加信息:
Html表对于构造数据表示非常有用
将IMG替换为IMG标签。将邮件文本放入文本部分。Remove the border=“1”删除html表的边框。在
对于HTML编码,请看pythons HTMLParser
相关问题 更多 >
编程相关推荐