在用python发送邮件时,由于没有编辑器,对于如何插入图片,难免会有困惑。
其实,邮件正文分为两种类型,一种是纯文本(plain),另一种是html。html可以携带图片、表格、颜色、链接等丰富的文本格式。
html里插入图片,其实插入的图片的二进制文件再做Base64编码之后的数据。
在正文html中插入图片base64数据,仍然是用<image>标签,不同之处是src里的url需要是data:image/png;base64,{image1_base64}的格式。
附:图片格式与MIME的对照表
| 格式 | MIME |
|---|---|
| png | image/png |
| jpg/jpeg | image/jpeg |
| bmp | image/bmp |
| webp | image/webp |
| gif | image/gif |
另外需要注意的是,email html支持的css比较有限,并且只支持inline css。具体与email客户端有关。