Python 创建一个新邮件。 Return 正文中的行 (\n) 不起作用

Python create a new mail. Return Line (\n) in body not working

我正在编写一个 python 脚本,它应该创建一个具有特定文本正文的新邮件。

事实是 \n 没有正常工作。

我的代码如下:

    outlook = win32.Dispatch('outlook.application')
    mail = outlook.CreateItem(0)
    mail.To = recipient
    mail.Subject = subject
    mail.HtmlBody = "This is a return line test \nTest"

显示的正文是:

This is a return line test Test

而不是:

This is a return line test 
Test

我错过了什么?

由于您使用的是 HtmlBody 而不是 \n,因此您想对换行符使用 HTML 样式标签。这些称为换行符,它们看起来像这样:<br>。所以你想用 <br>:

替换 \n
outlook = win32.Dispatch('outlook.application')
mail = outlook.CreateItem(0)
mail.To = recipient
mail.Subject = subject
mail.HtmlBody = "This is a return line test <br>Test"

新行 \n 字符在 .HtmlBody 上不起作用使用 mail.Body

例子

mail.Body = "This is a return line test \nTest"

HTMLBody Property

Returns or sets a String representing the HTML body of the specified item. The HTMLBody property should be an HTML syntax string

或者您可以使用 <pre> 标签集来识别 HTML 中的换行符

例子

mail.HTMLBody = "<pre>This is a return line test \nTest</pre>"

https://www.w3schools.com/tags/tag_pre.asp