C# 阅读HTML/文本文件,并以WPF/C格式将其作为HTML格式的电子邮件发送#

C# 阅读HTML/文本文件,并以WPF/C格式将其作为HTML格式的电子邮件发送#,c#,html,wpf,email,C#,Html,Wpf,Email,我有一个WPF应用程序,当点击一个按钮时,它会发送一封HTML格式的电子邮件。整个电子邮件是HTML格式的,它确实有效 然而,我想知道是否有一种方法可以读取html文件并将其发送出去,而不是将整个消息都写在代码后面…保持所有html格式的得体性 我试过这样的方法: string MessageTosend = File.ReadAllText("path to txt/html file"); (int)MessageTosend[0] // < should be 60 (3C in

我有一个WPF应用程序,当点击一个按钮时,它会发送一封HTML格式的电子邮件。整个电子邮件是HTML格式的,它确实有效

然而,我想知道是否有一种方法可以读取
html
文件并将其发送出去,而不是将整个消息都写在代码后面…保持所有html格式的得体性

我试过这样的方法:

string MessageTosend = File.ReadAllText("path to txt/html file");
(int)MessageTosend[0] // < should be 60 (3C in UTF-8)
但这只是发送了一封只有文本的电子邮件(没有样式,没有html…只有文件中的纯文本)

然后我想,我可能不得不改变一切:

string MessageTosend = Convert.ToString(File.ReadAllText("path to txt/html file"));
但这和以前一样

有没有办法做到这一点?还是我必须坚持

string MessageTosend = @"<html> ... lots of html stuff ... </html>";
string MessageTosend=@“…大量html内容…”;
对于每个发送电子邮件的按钮


请注意:我试图读取的
.txt
.html
文件的内容是使用上述字符串的相同内容进行测试的(同样,其工作方式与预期相同),并且没有双引号(例如:
width=”“100”“
width=“100”

尝试向文件添加编码读取:

string MessageTosend = File.ReadAllText("path to txt/html file", Encoding.UTF8);

尝试读取仅包含<的文件,并将其与字符串进行比较“您是否检查了收到的电子邮件的来源,看它是纯文本还是HTML?另外,显示您用来发送电子邮件的代码。您是否确保
msg.BodyFormat=MailFormat.Html
?@Mendhak我有
message.IsBodyHtml=true。在试图通过读取文件发送电子邮件之前,我将所有HTML都写在一个字符串中(如最后一行所示)。我试图读取的
.txt
/
.html
文件的内容与前面字符串中的内容相同。这张图片中肯定缺少一些内容。字符串就是字符串,所以从文件加载它时,某些内容必须有所不同。尝试同时执行两个解决方案,并比较两个字符串以确保它们相等。(StringComparer.CompareOrdinal)@TroelsLarsen我比较了两者,发现原始解决方案与读取的txt/html文件不同(即使文件的内容完全相同)。如果我从每个解决方案中删除
html
标记并对其进行比较,则一切正常,消息将发送。
html
格式根本没有得到确认。我正在努力让它被承认。谢谢!添加
、Encoding.UTF8
确保html格式完全按照预期呈现。只需确保文件是
.html
:)