python 使用win32自动发送同时含正文、附件的邮件,正文的格式怎么调整,如首行缩进、空行、转下一行等
时间: 2024-01-24 14:05:45 浏览: 243
利用Python发送邮件或发带附件的邮件
可以使用Python的win32com库和pywin32库来实现自动发送同时含正文、附件的邮件,并且可以调整正文的格式,如首行缩进、空行、转下一行等。以下是一个示例代码:
```python
import os
import win32com.client as win32
# 发件人邮箱地址和授权码
sender = 'your_email@example.com'
password = 'your_email_password'
# 收件人邮箱地址
receiver = 'receiver@example.com'
# 邮件主题和正文
subject = '测试邮件'
body = '这是一封测试邮件\n\n正文第二段'
# 附件路径
attachment_path = 'C:\\example\\attachment.txt'
# 创建Outlook应用实例
outlook = win32.Dispatch('Outlook.Application')
mail = outlook.CreateItem(0)
# 设置邮件属性
mail.To = receiver
mail.Subject = subject
mail.BodyFormat = 2 # HTML格式
mail.HTMLBody = '<p style="text-indent:2em;line-height:1.5">' + body.replace('\n', '<br>') + '</p>'
if os.path.exists(attachment_path):
attachment = mail.Attachments.Add(attachment_path)
# 发送邮件
mail.Send()
```
在上面的代码中,我们首先指定发件人的邮箱地址和授权码,以及收件人的邮箱地址。然后,我们指定邮件主题和正文,其中正文中的`\n`表示换行。接着,我们指定附件路径,并创建Outlook应用实例。接下来,我们设置邮件属性,包括收件人、邮件主题、邮件正文和附件(如果有)。在设置邮件正文时,我们将`\n`替换为`<br>`,并使用HTML格式,并设置了首行缩进和行间距。最后,我们使用Outlook应用实例发送邮件,将邮件发送给收件人。
注意,以上代码需要在安装了Outlook且已经登录了Outlook账号的计算机上运行。如果没有安装Outlook,或者没有登录Outlook账号,代码将无法正常运行。同时,邮件正文的格式可以根据自己的要求进行调整。
阅读全文