delphi – 为什么在某些情况下使用idSMTP发送的电子邮件无法正常
我正在使用TIdMessage和TIdSMTP发送纯文本电子邮件.
对于Body,我使用一个简单的连接字符串 Body := SomeText + #13#10 + SomeOtherText + #13#10 + SomeMoreText + #13#10 + FinalText; 无论如何,在生成的电子邮件中,一些“#13#10”都不会被忽略.我记录Body变量,我可以看到文本转到新行,无论如何在电子邮件中这不会发生.奇怪的是,并不是每一行都会发生,而只是在某些行上. 你知道为什么会这样吗?你能建议检查一下吗?在某些情况下,#13#10和文本电子邮件正文之间是否存在某些可能的混淆? UPDATE 经过更多的调查(感谢您的评论)我意识到这是一个Outlook可视化问题,无论如何问题仍然不明确. 这是在NotePad中打开的电子邮件的正文(我打开了从outlook保存的msg文件),我也显示了换行符(你可以看到#13#10作为CR LF.我用红色和绿色突出显示了2个换行符在outlook中有问题(但你可以看到在NP中它们看起来像所有其他的换行符): Outlook中的电子邮件看起来像这样(请注意,outlook显示该消息有额外的换行符,并且已被删除,但他提供了恢复它们的选项: 选择该选项后,电子邮件就可以了: 我不明白为什么这只发生在一些换行符上.这有助于您更好地理解问题吗? 解决方法
您可以尝试使用IdMessage.NoEncode:= True,以便Body不会被编码为
RCF 821.
或者更好地使用现代编码IdMessage.ContentType:=’text / html’并用< br>替换#13#10 编辑: 看Here和Here. 请注意,Microsoft支持还建议使用HTML格式作为Outlook Express的可能解决方法:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |