Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何通过电子邮件发送FlowDocument并保留其格式_C#_Wpf_Flowdocument - Fatal编程技术网

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