C# 如何通过电子邮件发送FlowDocument并保留其格式
我有一个C# 如何通过电子邮件发送FlowDocument并保留其格式,c#,wpf,flowdocument,C#,Wpf,Flowdocument,我有一个FlowDocument,我需要在WPF中通过电子邮件发送出去。问题是现在格式设置工作正常。我觉得这样做很简单 var fromAddress = new MailAddress("myemail@emailaddress.com", fromID); var toAddress = new MailAddress(emailAddress, toID); string boby = new TextRange(doc.ContentStart, doc.ContentEnd).Text
FlowDocument
,我需要在WPF中通过电子邮件发送出去。问题是现在格式设置工作正常。我觉得这样做很简单
var fromAddress = new MailAddress("myemail@emailaddress.com", fromID);
var toAddress = new MailAddress(emailAddress, toID);
string boby = new TextRange(doc.ContentStart, doc.ContentEnd).Text;
string subject = "My email";
const string fromPassword = "mypassword"
var smtp = new SmtpClient
{
Host = "smtp.gmail.com",
Port = 587,
EnableSsl = true,
DeliveryMethod = SmtpDeliveryMethod.Network,
UseDefaultCredentials = false,
Credentials = new NetworkCredential(fromAddress.Address, fromPassword)
};
using (var message = new MailMessage(fromAddress, toAddress)
{
Subject = subject,
Body = body,
})
{
smtp.Send(message);
}
虽然这样做有效,但问题是它没有保留流程文档的格式
编辑:
根据我的评论,我在这里举了一个例子
问题是仍然没有保留格式。他的FlowDocumentToXhtml
似乎不包含文本对齐的值
还有其他想法吗?我认为您需要将FlowDocument
转换为HTML,并使用HTML正文发送电子邮件。如上所述,您需要将文档转换为HTML(以保留格式)。描述了一种实现这一目标的方法。转换后,确保发送时将IsBodyHtml
设置为true