我有一个列表(errors
),我将它打印到屏幕上并发送到电子邮件正文中。但首先我用换行符分隔列表元素:
"\n".join(errors)
然后我将其打印到控制台并以电子邮件的形式发送。在控制台上,它以换行符分隔:
Error generating report
Another error
然而,在电子邮件中,他们没有显示。。。
Error generating report Another error
怎么了?
编辑:
更复杂的是,我注意到有人发了2封电子邮件,其中一封显示换行符,另一封没有!
sendEmail(SUPPORT_EMAIL_ADDRESS, "application terminated unexpectedly.", \
"The script will exit.\n\nError Message:\n%s" % \
"\n".join(errors))
sendEmail(USERS_EMAIL_ADDRESS, "report is delayed.",
"\n".join(errors),
"html", [], [], SUPPORT_EMAIL_ADDRESS)
第一个有,而第二个没有。这是因为第二个…中的html格式吗。。。?
你正在用Outlook阅读电子邮件吗?Outlook将从纯文本邮件中删除“多余的换行符”(也就是某些神秘规则认为不必要的换行符)。为了解决这个问题,我在发送之前将日志之类的邮件转换为HTML。这很简单;只需将其包装在<;PRE>;中即可;。。。<;/PRE>;标记(当然有适当的HTML标题)。
如果您的电子邮件是HTML格式的,那么这将影响换行的显示。
我会尝试两件事:
尝试使用CRLF(
"\r\n"
)而不是仅使用LF确保您的电子邮件不是以HTML模式发送的,或者,如果是,请尝试用
"<br>"
替换"\n"
相关问题 更多 >
编程相关推荐