簡體   English   中英

使用.NET MailMessage將Content-Transfer-Encoding設置為Quoted-printable

[英]Set Content-Transfer-Encoding to Quoted-printable with .NET MailMessage

當我用.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);

因為您正在設置message.BodyEncodingSystem.Text.Encoding.UTF8 ,傳輸編碼會自動設置為Base64。 來自備注部分

根據您需要使用Quoted-printable傳輸編碼的原因,您需要相應地調整MailMessage對象,以將傳輸編碼設置為Quoted-printable。

可以在這里閱讀更多內容

使用.NET 4.5或更高版本時,應該可以使用

message.BodyTransferEncoding = System.Net.Mime.TransferEncoding.QuotedPrintable;

請參閱https://docs.microsoft.com/en-us/dotnet/api/system.net.mail.mailmessage.bodytransferencoding?view=netframework-4.5

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM