我有一个文本区域保存到数据库中,我用它作为电子邮件正文发送。
我允许将 token 用作与该消息相关的信息的占位符。
如果我完全不触摸占位符,则电子邮件会正常发送,换行符与文本框中的完全相同(电子邮件以纯文本形式发送)。
但是,当我开始使用替换功能时,新行字符开始消失,所有行都被推到一起。
例如。
Body.Replace("%procedure%", CurrentOrder.Description);
将替换文本%procedure%,但也会删除行尾的换行符。即使换行符不是直接在被替换的文本之后。
有什么想法吗?
编辑:
目前,我只是将“\n”替换为“<br />
”并以 HTML 格式发送电子邮件。我宁愿将其保留为纯文本,因为我根本无法控制收件人。
编辑2:这似乎是 Outlook 本身的问题,而不是电子邮件的问题。我刚刚在 gmail 中查看了完全相同的电子邮件,并且格式正确。
最佳答案
Outlook 会删除新行,除非该行以两个空格结尾。
如果您正在测试发送到使用 Outlook 的帐户的电子邮件,请尝试在新行之前添加两个空格,看看是否可以解决问题。
关于c# - 当我进行替换时,为什么 C#.net 会删除换行符?如何阻止它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7892413/