如何在windows窗体C#中使用smtp邮件发送彩色文本内容

本文关键字:彩色 文本 smtp windows 窗体 | 更新日期: 2023-09-27 18:26:12

我在c#中使用smtp发送彩色文本电子邮件,但当我在收件箱中看到内容时,它显示为黑色文本。如何使用RichTextBox发送彩色内容。从单词粘贴时,RichTextBox显示彩色文本,但邮件显示为黑色内容。请帮帮我。

  1. 从ms word中复制内容并粘贴到RichTextBox中(彩色内容)
  2. 发送带有彩色内容的smtp邮件作为最终输出。

    我已经从它发了一封电子邮件,但它没有在gmail中显示彩色内容

如何在windows窗体C#中使用smtp邮件发送彩色文本内容

下面的代码片段。从应用程序中的RichTextBox,您需要转换为html

 MailMessage mail = new MailMessage();
    mail.To = "joymon@gmail.com";
    mail.From = "from@company.com";
    mail.Subject = "PoC html mail";
    mail.BodyFormat = MailFormat.Html;
    mail.Body = "this is first line.<br><b>bold</b>"; //Get from RTB in html format.
    SmtpMail.SmtpServer = "<smtp server>";
    SmtpMail.Send( mail );

邮件消息是用HTML格式化的,因此您首先需要一种将rtf转换为HTML的方法。幸运的是,这个问题已经得到了回答。

一旦有了html内容,就需要创建一条邮件消息,并将html内容指定为邮件正文。下面是另一个问题,说明如何做到这一点。

下面的代码片段。

        MailMessage mail = new MailMessage();
        mail.To = "to@mail";
        mail.From = "from@mail";
        mail.Subject = "Colored Text Emails";
        mail.BodyFormat = MailFormat.Html;
        mail.Body = " <font size='3' color='red'>This is some text!</font> <br/><font size='2' color='blue'>This is some text!</font><br/><font face='verdana' color='green'>This is some text!</font> ";
        SmtpMail.SmtpServer = "<smtp server>";
        SmtpMail.Send(mail);