Проблема с электронной почтой - PullRequest
0 голосов
/ 11 апреля 2011

Я использую класс 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 ]

2 голосов
/ 16 апреля 2011

2) Какова максимальная длина строки темы?

С RFC822 о неструктурированных полях заголовка:

НекоторыеТела поля в этом стандарте определяются просто как "неструктурированные" (которые указаны ниже как любые символы US-ASCII, за исключением CR и LF) без каких-либо дополнительных ограничений.Они называются неструктурированными полевыми органами.Семантически неструктурированные тела полей просто должны рассматриваться как одна строка символов без дальнейшей обработки (за исключением заголовка «сворачивание» и «развертывание», как описано в разделе 2.2.3).

сюжетная линия является неструктурированным полем и поэтому не имеет наложенного ограничения длины.

1 голос
/ 11 апреля 2011

Не видя больше кода, я угадаю проблему кодировки - попробуйте указать кодировку для вашего объекта и тела. Посмотрите на этот пост для примера кода .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...