Я использую System.Net.Mail.SmtpClient
для отправки электронной почты через удаленный SMTP-сервер.Когда я просматриваю заголовки отправленного сообщения, я вижу, что сообщение получает 2,5 обращения от X-Spam.Как можно предотвратить кодирование base64 поля From
и как избавиться от попадания NULL_IN_BODY
?Даже если он не помечен как спам, я хочу, чтобы он был идеальным.Я не могу найти какую-либо информацию по этой проблеме (если это вообще проблема).
MIME-Version: 1.0
From: Myself <no-reply@myself.com>
To: me@myself.com
Date: 25 Mar 2011 15:20:23 +0100
Subject: Test subject
Content-Type: text/plain; charset=us-ascii
X-Spam-Status: No, hits=0.5 required=5.0
X-Spam-Report: 0.5 hits, 5.0 required;
* -0.5 ALL_TRUSTED Passed through trusted hosts only via SMTP
* 1.0 NULL_IN_BODY FULL: Message has NUL (ASCII 0) byte in message
X-Virus-Scanned: by moam (http://www.moam.net/)
X-Moam-Version: 0.95
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by mx02.example.com id p2PEKKNs014451
Hello, sshow!
Below is your login information
Username: sshow
Password: a8sJdfl
Sent from http://me.myself.com
Редактировать: Мне удалось удалить предупреждение для FROM_EXCESS_BASE64
,который был самым важным, удалив все кодировки для поля.Ранее я вручную устанавливал Encoding.UTF8
для поля.
Удаление всех управляющих символов из строки body
больше не вызывает предупреждение.Однако это также удаляет разрывы строк.
foreach (char c in body)
{
stringBuilder.Append(Char.IsControl(c) ? ' ' : c);
}
Редактировать: При удалении всех символов управления, кроме разрывов строк, возвращается предупреждение!
foreach (char c in body)
{
stringBuilder.Append(Char.IsControl(c) && c != '\r' && c != '\n' ? ' ' : c);
}