c# - 使用 .NET MailMessage 将 Content-Transfer-Encoding 设置为 Quoted-printable

标签 c# .net smtpclient

当我使用 .NET SmtpClient 发送邮件时,当我检查邮件的源代码时,我注意到内容传输编码设置为 base64。

我需要将其设置为 Quoted-printable。 我怎样才能做到这一点? 提前致谢

public virtual MailMessage GetMailMessage(string body, string from, string [] user_emails, string [] back_office_emails, string subject)
{             
    MailMessage message = new MailMessage();
    message.IsBodyHtml = true;
    message.From = new MailAddress(from);            
    foreach (string email in user_emails)
    {
        message.To.Add(new MailAddress(email));
    }            
    if (back_office_emails != null)
    {
        foreach (string email in back_office_emails)
        {
            message.Bcc.Add(new MailAddress(email));
        }
    }
    message.Subject = subject;
    message.Body = body;
    message.BodyEncoding = System.Text.Encoding.UTF8;
    return message;
}

protected virtual void SendEmailTemplate(string body, string from, string[] user_emails, string[] back_office_emails, string subject)
{
    MailMessage message = GetMailMessage(body, from, user_emails, back_office_emails, subject);
    SmtpClient client = new SmtpClient(ConfigurationManager.AppSettings["SmtpClient"]);
    client.Send(message);
}

最佳答案

解决方法:

AlternateView plainTextView = AlternateView.CreateAlternateViewFromString(body.Trim(), new ContentType("text/html; charset=UTF-8"));
plainTextView.TransferEncoding = System.Net.Mime.TransferEncoding.QuotedPrintable;
message.AlternateViews.Add(plainTextView);

关于c# - 使用 .NET MailMessage 将 Content-Transfer-Encoding 设置为 Quoted-printable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28024957/

相关文章:

c# - 单元测试 Controller 中抛出的异常

c# - Newtonsoft.Json.JsonSerializationException 未由用户代码处理

c# - 集合更改时触发事件(添加或删除)

.net - Azure Active Directory B2C 通过静态链接访问配置文件错误

c# - 服务器超时后,c# 中的电子邮件发送服务无法恢复

c# - 更改电子邮件中自动附加文件的名称

php - 如何通过 Swift 邮件程序添加标题

c# - 为什么 ContextMenu Command 和 CommandParameter 在 DataGrid 中不起作用

c# - C# 中的 Nullsafe 导航

由于猴子补丁的能力,.NET 4 可以实现更好的单元测试/模拟?