1

我在 C# 中创建了一个邮件发件人,但邮件正文出现问题。它只发送没有图片、链接和其他元素的文本。更不用说,我用于RichTextBox那个目的。

所以现在我的问题是:使用什么组件来发送带有图片、链接等的邮件?

我还启用IsBodyHtmltrue.

我想要做的是从 Microsoft Word 复制图片、链接和文本(具有不同的颜色和大小)并将其粘贴到控件中,当用户收到邮件时,他会得到与我发送邮件完全相同的正文和布局。

4

1 回答 1

1

您需要将其作为 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);
于 2013-03-07T12:06:27.223 回答