【问题标题】:AjaxControlToolKit image appear as html tag in email messageAjaxControlToolKit 图像在电子邮件消息中显示为 html 标记
【发布时间】:2023-08-17 11:06:01
【问题描述】:

我使用 AjaxControlToolKit 作为某种 WYSWYG 编辑器来创建电子邮件。

我想要完成的是能够允许人们使用编辑器添加图像并将最终产品(以 HTML 形式)作为电子邮件发送。电子邮件的图像存储在服务器上。收到的电子邮件应该是带有图像和文字的普通营销电子邮件。

现在的问题是在编辑器中格式化的文本在接收者的电子邮件客户端中正确显示,但图像显示为<img src=....。图像的路径是正确的,并且图像在离开编辑器屏幕之前确实显示在编辑器中。

测试的邮件是Hotmail(没有提示允许图片)、Gmail和MS Outlook。

【问题讨论】:

  • 您使用的是绝对链接还是相对链接?因为亲戚不会在电子邮件中工作。您能否发布用于生成图像 HTML 的代码?
  • 我确实使用了绝对链接。我想我已经大致发现了问题所在。当我将提交的消息(带有格式化文本和图像的消息)强制返回 ajax 编辑器时,我可以看到格式化文本的 HTML 代码是正确的,但图像的 HTML 是错误的。而不是 ....panda.jpg"> 我有 <img src = "....panda.jpg"&gt; 有人知道如何禁用此自动手链功能吗?

标签: c# asp.net html email send


【解决方案1】:

找到了解决办法。这是非常粗鲁和不雅的。

txtDaMessage.Text = txtDaMessage.Text.Replace("&lt ;", "<");
txtDaMessage.Text = txtDaMessage.Text.Replace("&gt ;", ">");

逻辑是因为AjaxControlToolKit想自动将我的html图像标签的'&lt;''&gt;'分别转换为"&amp;lt ;""&amp;gt ;",我将使用replace强制它们恢复为原始形式方法。

【讨论】: