问题描述
我们正在构建一个使用 RazorEngine 生成 HTML 电子邮件的网站。
使用断点我们可以看到生成的电子邮件正文符合预期。但是生成的 .eml 文件有一个图像 URL 换行,它似乎添加了一个额外的点,这当然会破坏 URL 并阻止显示图像。
以下显示了循环中的模型 BaseUrl:
并且,在调用 SmtpClient.Send 之前的断点处,电子邮件正文显示为:
web.config 中的 SMTP 设置将其发送到 c:/temp/,当我在 notepad++ 中查看生成的 eml 文件时,我们看到:
请注意,第二张图片链接在“co”和“uk”之间有一个额外的点,其他链接和最终电子邮件正文中都没有。
团队的其他成员之前都没有在任何项目中遇到过这种情况。
我们是否在做明显错误的事情?是否存在我们不知道的“陷阱”?
任何帮助将不胜感激。
解决方法
事实证明,创建并保存到磁盘的 .eml 文件不应该直接在电子邮件客户端中打开。
如果 .eml 文件实际发送,那么它会正确显示在电子邮件客户端中。
不记得我在哪里找到了这个信息,但我想我会添加它,因为我意识到这仍然是开放的。
因此,如果您看到类似问题,请尝试发送电子邮件然后检查它 - 不要只是保存到磁盘并检查它。