gpt4 book ai didi

python - 如何在使用 Python 的 smtplib 发送的电子邮件中获取换行符?

转载 作者:IT老高 更新时间:2023-10-28 20:31:38 29 4
gpt4 key购买 nike

我编写了一个脚本,将消息写入文本文件并将其作为电子邮件发送。一切都很顺利,除了电子邮件最终似乎都在一行中。

我通过 \n 添加换行符,它适用于文本文件,但不适用于电子邮件。你知道可能的原因是什么吗?


这是我的代码:

import smtplib, sys
import traceback
def send_error(sender, recipient, headers, body):

SMTP_SERVER = 'smtp.gmail.com'
SMTP_PORT = 587
session = smtplib.SMTP('smtp.gmail.com', 587)
session.ehlo()
session.starttls()
session.ehlo
session.login(sender, 'my password')
send_it = session.sendmail(sender, recipient, headers + "\r\n\r\n" + body)
session.quit()
return send_it


SMTP_SERVER = 'smtp.gmail.com'
SMTP_PORT = 587
sender = 'sender_id@gmail.com'
recipient = 'recipient_id@yahoo.com'
subject = 'report'
body = "Dear Student, \n Please send your report\n Thank you for your attention"
open('student.txt', 'w').write(body)

headers = ["From: " + sender,
"Subject: " + subject,
"To: " + recipient,
"MIME-Version: 1.0",
"Content-Type: text/html"]
headers = "\r\n".join(headers)
send_error(sender, recipient, headers, body)

最佳答案

不幸的是,并非每种类型的程序或应用程序都使用与 python 相同的标准化。

查看您的问题,我注意到您的标题是:"Content-Type: text/html"

这意味着您需要为新行使用 HTML 样式标签,这些标签称为换行符。 <br>

你的文字应该是:

"Dear Student, <br> Please send your report<br> Thank you for your attention"

如果您希望使用字符类型的换行符,您必须将标题更改为:"Content-Type: text/plain"

您仍然需要从单个 \n 更改换行符到双\r\n在电子邮件中使用。

你的文字是:

"Dear Student, \r\n Please send your report\r\n Thank you for your attention"

关于python - 如何在使用 Python 的 smtplib 发送的电子邮件中获取换行符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14139165/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com