c# - 如何使用 C# 发送没有 ATT00001.bin 文件的嵌入图像电子邮件

标签 c# html smtp smtpclient

我可以使用 c# 通过 smtp 发送电子邮件,从而使用 LinkedResource 插入图像。 现在的问题是收到的电子邮件包含 ATT0000X.bin 文件作为附件。如何确保这些 bin 文件不会添加到电子邮件中?

提前致谢!

最佳答案

我刚刚在尝试将图像嵌入到电子邮件中时遇到了这个问题。我的代码有两件事错误,也许其中之一发生在你身上:

  1. 首先,我嵌入了一个图像,但没有定义任何标签来让它显示在我的正文中。通过将标记 cid:yourContentId 添加到我的 HTML 中,然后将该标记指定为图像的 ContentId,已修复此问题。这解决了 Outlook 中的问题,但它仍然显示一个剪辑,就像电子邮件有附件一样,但没有地方可以实际看到附件。这看起来 super 垃圾。在 Outlook Web 中,您仍然可以看到 ATT00001.bin 附件。

  2. 我的第二个错误是在创建 LinkedResource 时没有定义嵌入图像的 ContentType。这修复了桌面客户端中显示的剪辑,并且在 Web 客户端中不再可以看到附件。最终的代码是这样的

        LinkedResource embeddedImage = new LinkedResource(imageStream, new System.Net.Mime.ContentType("image/jpeg"));
        embeddedImage.ContentId = "ContentId";
        altview.LinkedResources.Add(embeddedImage);
        mailMessage.AlternateViews.Add(altview);
    

关于c# - 如何使用 C# 发送没有 ATT00001.bin 文件的嵌入图像电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60228957/

相关文章:

javascript - 从数组填充 <dl> 列表

jquery - 根据父 DIV 宽度动态浮点对齐 DIV

c# - 如何使用 SendGrid for C# 发送以 UTF-8 编码的文本/html 的电子邮件?

c# - LINQ to SQLite无法更新:“存储更新,插入或删除语句影响了意外的行数”

c# - 如何清除 System.Net 客户端 DNS 缓存?

c# - 为什么SubscribeOn在这里不能作为扩展方法而是直接调用?

c# - 计算 MD5 值对于不同的字符串返回 "0001..0E0F"

html - 只要下拉菜单保持打开状态,如何更改 Bootstrap 下拉菜单的背景颜色?

linux - 如何使用 perl/a shell 脚本轻松检查 POP3 或 SMTP 连接是否有效?

python - 邮件未发送给 CC 中的人员