微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如果包装,从 SmtpClient.Send 生成的电子邮件会破坏图像 src

如何解决如果包装,从 SmtpClient.Send 生成的电子邮件会破坏图像 src

我们正在构建一个使用 RazorEngine 生成 HTML 电子邮件的网站。

使用断点我们可以看到生成的电子邮件正文符合预期。但是生成的 .eml 文件一个图像 URL 换行,它似乎添加一个额外的点,这当然会破坏 URL 并阻止显示图像。

以下显示了循环中的模型 BaseUrl:

Razor template showing BaseUrl in a loop

并且,在调用 SmtpClient.Send 之前的断点处,电子邮件正文显示为:

email body before passing to SmtpClient.Send()

web.config 中的 SMTP 设置将其发送到 c:/temp/,当我在 notepad++ 中查看生成的 eml 文件时,我们看到:

content in eml file

请注意,第二张图片链接在“co”和“uk”之间有一个额外的点,其他链接和最终电子邮件正文中都没有。

团队的其他成员之前都没有在任何项目中遇到过这种情况。

我们是否在做明显错误的事情?是否存在我们不知道的“陷阱”?

任何帮助将不胜感激。

解决方法

事实证明,创建并保存到磁盘的 .eml 文件不应该直接在电子邮件客户端中打开。

如果 .eml 文件实际发送,那么它会正确显示在电子邮件客户端中。

不记得我在哪里找到了这个信息,但我想我会添加它,因为我意识到这仍然是开放的。

因此,如果您看到类似问题,请尝试发送电子邮件然后检查它 - 不要只是保存到磁盘并检查它。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。