【问题标题】:Sending email as HTML from RichText Box从 RichText Box 以 HTML 格式发送电子邮件
【发布时间】:2015-03-04 20:56:50
【问题描述】:

我有一个带有富文本框的 vb.net 应用程序,可以在其中输入电子邮件正文

然后我发送电子邮件并包含此代码:

e_mail.IsBodyHtml = True
e_mail.Body = emailmessage

emailmessagerichtextbox.text

但它只是作为纯文本发送

【问题讨论】:

  • 您必须编写自己的例程来“HTML 化”文本框中的文本。您设置的属性说电子邮件应该显示 HTML,但如果没有要呈现的 HTML,电子邮件客户端就不能这样做。

标签: vb.net


【解决方案1】:

我猜它是作为纯文本发送的,因为它从 RichTextBox.Text 属性中提取纯文本。 Text 属性具有控件的未格式化文本。 Rtf 属性具有富文本版本(在其中放置一个链接,然后在消息框中输入 RichTextBox.Rtf,您将看到所有的 RTF 代码)。

如果你想要 HTML,你必须将 RTF 转换为 HTML,然后像你一样把它放在邮件对象中。

如果您使用 WPF 和 XAML 的 RichTextBox,此链接可能会有所帮助:

如果您不介意使用 Word(尽管这很 hacky),您可以通过代码在 Word 中加载 RTF,然后将其保存为 HTML(请参阅下面的主题)。

您还可以寻找开源控件,将 RichTextBox 替换为创建 HTML 本身并忘记 RichTextBox 的东西(请参阅下一个链接):

【讨论】:

    【解决方案2】:

    【讨论】:

    • “BodyFormat”不是“System.Net.Mail.MailMessage”的成员
    • 检查您的邮件客户端。一些客户端将 HTML 转换为文本并让用户决定使用 HTML。 (我知道 Outlook 因这样做而臭名昭著)
    • 我查看了电子邮件的来源,完全空白。此错误显示在 vb.net
    猜你喜欢
    • 2010-11-26
    • 2014-06-22
    • 2015-08-04
    • 2012-01-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多