gpt4 book ai didi

delphi - 为什么在某些情况下使用 idSMTP 发送的电子邮件无法正确转至新行?

转载 作者:行者123 更新时间:2023-12-03 15:24:11 25 4
gpt4 key购买 nike

我使用 TIdMessageTIdSMTP 发送纯文本电子邮件。

对于正文,我使用一个简单的连接字符串,例如

Body := SomeText + #13#10 +
SomeOtherText + #13#10 +
SomeMoreText + #13#10 +
FinalText;

无论如何,在生成的电子邮件中,某些“#13#10”不会被忽略。我记录了 Body 变量,我可以看到文本转到新行,无论如何在电子邮件中这不会发生。奇怪的是,这种情况并不是在每行上都会发生,而是仅在某些行上发生。

您知道为什么会发生这种情况吗?您能建议检查一下吗?在某些情况下,#13#10 和文本电子邮件正文之间是否可能存在冲突?

更新

经过更多调查(感谢您的评论)我意识到这是 Outlook 可视化问题,无论如何我仍然不清楚这个问题。

这是在 NotePad++ 中打开的电子邮件正文(我打开了从 Outlook 保存的 msg 文件),其中还显示了换行符(您可以将 #13#10 视为 CR LF。我以红色和绿色突出显示了第 2 行Outlook 中出现问题的换行符(但您可以看到,在 NP++ 中,它们看起来像所有其他换行符): Email body in NotePad++

Outlook 中的电子邮件看起来像这样(请注意,Outlook 说邮件有额外的换行符并且它们已被删除,但他提供了恢复它们的选项: EMail in Outlook displayin bad]

选择该选项后,电子邮件就可以了: enter image description here

我不明白为什么这种情况只发生在某些换行符上。这是否有助于您更好地理解问题?

最佳答案

您可以尝试使用IdMessage.NoEncode := True这样 body 就不会RCF 821编码。

或者更好地使用现代编码 IdMessage.ContentType := 'text/html'并替换#13#10<br>

编辑:这是 Outlook Express 问题。

HereHere 。 解决方法是在每行文本的开头添加 2 个空字符,以使 Outlook 不会删除分隔符。

<小时/>

请注意,Microsoft 支持人员还建议使用 HTML 格式作为 Outlook Express 的可能解决方法:

Method 2. Use HTML or Rich Text format You can use HTML or Rich Text formats when you create new items. Or you can change existing posts to these formats.

关于delphi - 为什么在某些情况下使用 idSMTP 发送的电子邮件无法正确转至新行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8895953/

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