簡體   English   中英

電子郵件主題問題

[英]Email subject problem

我在程序中使用MailMessage類。 當主題太長時,主題看起來像。

學科:

=?utf-8?B?W0VudGVycHJpc2UgUHJpb3JpdHldIC0gQ3VzdG9tZXIgSW5jaWRlbnQgNjkxNzIgZm9yIEhhcmlkaGFyYW4gKDEzMjM5OSkgaGFyaWRoYXJhbnJAc3luY2Z1c2lvbi5jb20gOiBUZXN0aW5nIFRlc3RpbmcgVGVzdGluZyBUZXNpbmcgVGVzdGluZyBUZXN0aW5nIFRlc3RpbmcgVGVzdGluZyBUZXN0aW5nIFRlc3Rpbmcg4o"

僅在服務器中發生此問題。 在調試時,我在“本地”中使用了相同的主題內容,但是,我得到了正確的主題。

程序:

protected MailMessage msg;
msg.Subject = subject;

WebMail.IHostExchange.NET中也有相同(錯誤)主題。

問題是什么?

更新:

這是我編碼的一部分。

  public EmailSenderThread(string emailAddresses, string ccemailaddress, string from, string subject, string body)
            : base()
        {
            msgThread = new Thread(new ThreadStart(MailSender));
            this.mailAddress = emailAddresses;
            this.ccmailAddress = ccemailaddress;
            msg.From = new MailAddress(from);
            msg.IsBodyHtml = true;
            msg.Body = body;          
            string[] mails = emailAddresses.Split(';');
            foreach (string mail in mails)
                if (!string.IsNullOrEmpty(mail))
                    msg.To.Add(mail);
            if (ccemailaddress != string.Empty)
            {
                string[] ccemails = ccemailaddress.Split(';');
                foreach (string ccmail in ccemails)
                    if (!string.IsNullOrEmpty(ccmail))
                        msg.CC.Add(ccmail);
            }
            msg.Subject = subject;
            msgThread.Start();
        }

我已經嘗試過

msg.SubjectEncoding = System.Text.Encoding.UTF8;

但我有同樣的錯誤。 你有我的疑問嗎? 如果我沒有清楚說明,請告訴我。

1)為什么它在本地工作正常? 以及為什么當我將其托管到服務器時它不起作用。

2)主題行的最大長度是多少?

2)主題行的最大長度是多少?

來自RFC822中有關非結構化標頭字段的信息:

該標准中的某些現場主體被簡單地定義為“非結構化”(以下指定為任何US-ASCII字符,CR和LF除外),沒有其他限制。 這些被稱為非結構化現場主體。 從語義上講,非結構化的字段主體僅被視為單行字符,無需進一步處理(如2.2.3節中所述,標題“折疊”和“展開”除外)。

主題行是一個非結構化字段,因此沒有強加的長度限制。

在沒有看到更多代碼的情況下,我將猜測一個編碼問題-嘗試為您的主題和身體指定編碼。 在這篇文章中查看示例代碼

暫無
暫無

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

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