【发布时间】:2014-08-18 23:57:06
【问题描述】:
我有一个 WPF 应用程序,当单击按钮时会发送 HTML 格式的电子邮件。整个电子邮件是 HTML 格式的,它确实有效。
但是,我想知道是否有一种方法可以读取 html 文件并将其发送出去,而不是将整个消息写在后面的代码中...保持所有 HTML 格式完好无损。
我尝试过这样的事情:
string MessageTosend = File.ReadAllText("path to txt/html file");
但这只是发送了一封只有文本的电子邮件(没有样式,没有 html...只有文件中的纯文本)。
然后我想,我可能必须转换所有内容:
string MessageTosend = Convert.ToString(File.ReadAllText("path to txt/html file"));
但这和以前做的一样。
有没有办法做到这一点?还是我必须坚持拥有
string MessageTosend = @"<html> ... lots of html stuff ... </html>";
对于每个发送电子邮件的按钮?
注意:我尝试读取的 .txt 和 .html 文件的内容已使用上述字符串的相同内容进行了测试(再次,按预期工作),并且没有双引号(示例:width=""100"" 和 width="100")
【问题讨论】:
-
您是否检查了收到的电子邮件的来源,看它是纯文本还是 HTML?此外,请显示您用于发送电子邮件的代码。你确定
msg.BodyFormat = MailFormat.Html吗? -
@Mendhak 我有
message.IsBodyHtml = true;。在尝试通过读取文件来发送电子邮件之前,我将所有 HTML 写在一个字符串中(如最后一行所示)。我试图读取的.txt/.html文件的内容与之前字符串中的内容相同。 -
这张照片肯定少了点什么。字符串是字符串,因此从文件加载它时必须有所不同。尝试同时执行两种解决方案,并比较两个字符串以确保它们相等。 (StringComparer.CompareOrdinal)
-
@TroelsLarsen 我比较了两者,原始解决方案与读取的 txt/html 文件不同(即使文件内容完全相同)。如果我从每个解决方案中删除
html标记并进行比较,一切都很好并且消息发送。html格式根本没有得到承认。我正在努力让它得到承认。