我在 C# 中创建了一个邮件发件人,但邮件正文出现问题。它只发送没有图片、链接和其他元素的文本。更不用说,我用于RichTextBox
那个目的。
所以现在我的问题是:使用什么组件来发送带有图片、链接等的邮件?
我还启用IsBodyHtml
了true
.
我想要做的是从 Microsoft Word 复制图片、链接和文本(具有不同的颜色和大小)并将其粘贴到控件中,当用户收到邮件时,他会得到与我发送邮件完全相同的正文和布局。
我在 C# 中创建了一个邮件发件人,但邮件正文出现问题。它只发送没有图片、链接和其他元素的文本。更不用说,我用于RichTextBox
那个目的。
所以现在我的问题是:使用什么组件来发送带有图片、链接等的邮件?
我还启用IsBodyHtml
了true
.
我想要做的是从 Microsoft Word 复制图片、链接和文本(具有不同的颜色和大小)并将其粘贴到控件中,当用户收到邮件时,他会得到与我发送邮件完全相同的正文和布局。
您需要将其作为 html 发送。将您的 word doc 保存为 html 并使用它。对于文档中的图像,您可以通过它们的绝对 URL(通过 Internet 公开)指向它们。
或者你可以使用这个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);