Python 用win32 发送正文为图片的邮件
时间: 2024-04-07 18:29:21 浏览: 213
可以使用 Python 的 `win32com.client` 模块和 `PIL` 模块来发送正文为图片的邮件。以下是一个简单的示例代码:
```python
import win32com.client as win32
from PIL import Image
# 创建图片对象
img = Image.open('image.jpg')
# 创建邮件对象
outlook = win32.Dispatch('outlook.application')
mail = outlook.CreateItem(0)
mail.Subject = 'Test email with image'
mail.To = 'receiver@example.com'
# 创建 HTML 正文
html_body = '<p>This is an email with an image:</p>'
html_body += '<p><img src="cid:image.jpg"></p>'
mail.HTMLBody = html_body
# 将图片插入到邮件正文中
attachment = mail.Attachments.Add('image.jpg', 5, 0, 'image.jpg')
attachment.PropertyAccessor.SetProperty('http://schemas.microsoft.com/mapi/proptag/0x3712001F', 'image.jpg')
img_cid = attachment.PropertyAccessor.GetProperty('http://schemas.microsoft.com/mapi/proptag/0x3712001F')
mail.HTMLBody = mail.HTMLBody.replace('cid:image.jpg', 'cid:' + img_cid)
# 发送邮件
mail.Send()
```
需要注意的是,在上述代码中,需要替换邮件接收方信息、邮件主题和图片路径等内容。另外,需要确保图片文件存在并且可以被读取。
阅读全文