asp.net - 从 SmtpClient.Send 生成的电子邮件如果包装会破坏图像 src
问题描述
我们正在构建一个使用 RazorEngine 生成 HTML 电子邮件的站点。
使用断点我们可以看到生成的电子邮件正文符合预期。但是生成的 .eml 文件有一个图像 URL 包装,它似乎添加了一个额外的点,这当然会破坏 URL 并阻止显示图像。
下面显示了循环中的模型 BaseUrl:
而且,在调用 SmtpClient.Send 之前的断点处,电子邮件正文显示为:
web.config 中的 SMTP 设置将其发送到 c:/temp/,当我在 notepad++ 中查看生成的 eml 文件时,我们看到:
请注意,第二个图像链接在“co”和“uk”之间有一个额外的点,该点不存在于其他链接或最终电子邮件正文中。
团队的其他成员之前在任何项目中都没有遇到过这种情况。
我们是否在做明显错误的事情?是否有我们不知道的“陷阱”?
非常感激任何的帮助。
解决方案
事实证明,创建并保存到磁盘的 .eml 文件不应该直接在电子邮件客户端中打开。
如果实际发送了 .eml 文件,则它会正确显示在电子邮件客户端中。
不记得我在哪里找到这个信息,但我想我会添加它,因为我意识到它仍然是开放的。
因此,如果您看到类似的问题,请尝试发送电子邮件然后检查它 - 不要只是保存到磁盘并检查它。
推荐阅读
- scala - 在 SBT 多项目构建中,如何引用其他文件夹中的项目?
- git - 我们如何理解 git checkout [点]
- python - django 在第一次脚本运行后每天保存一次数据到文件
- stm32 - STM32F051 HAL_RTC_SetDate 未正确设置年份
- javascript - jquery导航,它是如何运行的?
- vue.js - 如何在不将其包装在表单中的情况下验证价值?
- python - Django 使用 Ajax 创建评论系统
- ios - 确定具有最大宽度的多行 UILabel 的最大字体大小
- java - 如何删除 ArrayList 中的重复值?
- node.js - 节点 process.env 设置不适用于 npm 配置库