我从我的网络应用程序发送纯文本邮件(例如密码重置);我非常确定我在标题和文字中使用了正确的CRLF
行结尾。有些行可能超过78个字符,但不超过998 + 2。
对于某些邮件,Outlook邮件客户端会折叠页脚部分中的空白(--
行之后):尽管存在CRLF
换行符,但它们看起来像是变成了普通的空格字符,我很长。 (编辑,澄清:发生了换行符,但不是在预期的位置,而是仅由窗口宽度给出。)
是否有方法告诉Outlook保留换行符,例如一些头?当然,我更喜欢符合RFC的解决方案,但如果它不会对其他客户造成伤害,那就没关系。
答案 0 :(得分:1)
我终于找到了this question and answer,我的解决方案是: 在每个换行符前面加上一个可能被Outlook“优化掉”的制表符,例如:因为没有其他换行符。
如果可以毫不费力地完成,当然有助于生成包含InnerText
和For Each elem As HtmlElement In WebBrowser1.Document.GetElementsByTagName("a")
If elem.InnerText.Trim = "Subscribe" Then
elem.InvokeMember("click")
End If
Next
的邮件;但如果仅仅是出于这个原因,它看起来有点过分。
纯HTML邮件也可以使用,但它们比普通文本邮件更不值得信赖(因为人们可能被欺骗激活除链接文本中的URL之外的其他URL),例如SpamAssassin不喜欢他们。
这是一个Python函数,它在每个换行符之前插入一个制表符(但不是在两个或更多个序列之前):
text/plain