Почему в электронных письмах, отправленных .NET SmtpClient, отсутствует идентификатор сообщения?

Это мои настройки SMTP в App.Config:

<system.net>
    <mailSettings>
      <smtp from="Reminder &lt;reminder@myserver.com&gt;">
        <network host="mail.myserver.net" port="587" password="my password" userName="reminder@myserver.com" enableSsl="true"/>
      </smtp>
    </mailSettings>
  </system.net>

И вот как я отправляю электронные письма:

message.SubjectEncoding = System.Text.Encoding.UTF8;
message.BodyEncoding = System.Text.Encoding.UTF8;
smtpClient.Send(message);

это работает! но единственная проблема в том, что мои электронные письма попадают в папку со спамом, и это потому, что в их заголовке отсутствует идентификатор сообщения. Я использую ту же учетную запись в Thunderbird, когда я отправляю электронные письма с помощью thunderbird, Message-Id добавляется в мои электронные письма, но этого не происходит для писем, отправляемых из моего приложения.

Я могу добавить заголовок вручную, например:

message.Headers.Add("Message-Id","<3BD50098E401463AA228377848493927-1>");

Но этот идентификатор не является допустимым идентификатором сообщения, и я все равно получу за него отрицательную оценку за спам. Есть идеи, почему это происходит?

Это то, что у меня есть в Thunderbird:
хост: mail.korax.net /
аутентификация: обычный пароль /
порт: 587 /
безопасность: STARTTLS

11
задан John Saunders 29 July 2011 в 16:15
поделиться