使用什么组件发送具有任何类型主体的邮件
本文关键字:类型 任何 主体 什么 组件 | 更新日期: 2023-09-27 18:02:48
我在c#中创建了一个邮件发送器,但是我在邮件正文方面遇到了麻烦。它只发送文本,没有图片、链接和其他元素。更不用说,我为此使用了RichTextBox
。
所以现在我的问题是:使用什么组件来发送带有图片,链接和其他内容的邮件?
I also enabled IsBodyHtml
to true
.
我想做的是复制图片,链接和文本(不同的颜色和大小)从Microsoft Word和粘贴到控件,当用户收到邮件,他得到完全相同的主体和布局,因为我发送它们
您需要将其作为html发送。将word文档保存为html并使用它。对于文档中的图像,您可以通过它们的绝对url指向它们(可通过互联网公开获取)。
或者您可以使用LinkedResource
类。
使用LinkedResource类,您的图像必须在源中指定cid。
var inlineLogo = new LinkedResource("path/myfile.png");
inlineLogo.ContentId = Guid.NewGuid().ToString();
var imageHtmlFragment = string.Format("<img alt='My Logo' src='cid:{0}' style='width: 250px;height: 60px;'/>",inlineLogo.ContentId);
var newMail = new MailMessage();
var view = AlternateView.CreateAlternateViewFromString(imageHtmlFragment, null, "text/html");
view.LinkedResources.Add(inlineLogo);
newMail.AlternateViews.Add(view);