我有一个 WinForms 应用程序,用户可以在其中配置电子邮件模板,这些模板稍后会将邮件与数据库中的客户端数据合并,然后通过 SMTP 发送。
我一切正常,但是当用户将图像保存在模板正文中时,问题就出现了。我正在使用 DevExpress RichEdit 控件来允许用户创建此电子邮件正文,并且该控件将其转换为我用来发送的 HTML。当图像存在时,它使用 data-uri 将图像直接嵌入到 HTML 中。
现在问题来了,当我使用 data-uri 图像以这种方式发送电子邮件时,并非所有客户端都正确呈现它。我刚刚在 Outlook 中测试了它,它似乎不起作用。我知道一些基于网络的电子邮件客户端可以工作,但我需要它一直工作,至少对于广泛使用的电子邮件客户端。
我想知道其他人是否已经解决了这个问题,这里最好的解决方案是什么?我想我可以将图像作为附件发送,然后引用附件,尽管我不确定这是否是最佳做法。另一种选择是将每个图像托管在某处的服务器上,然后创建一个必须存储图像的服务(例如在数据库中),并提供一种使用 ID 在 Web 上查询该图像的方法。然后我的电子邮件将使用 img src=site/getImg?imgID=xxx 类型的东西。但是,这似乎需要做很多工作才能完成我想要完成的工作,我希望我可以用更简单的方法来避免它。
提前感谢您的任何建议!!