System.Net.Mail.MailMessage Необработанный контент / Убийца спама

StackOverflow https://stackoverflow.com/questions/446393

  •  22-07-2019
  •  | 
  •  

Вопрос

То, что я пытаюсь сделать, это передать необработанное содержимое исходящего электронного письма в spamassassin, чтобы рассчитать показатель спама.Я застрял в том, как я мог бы получить исходное содержимое электронного письма.

Мой код на C # в настоящее время просто создает MailMessage и передает ему метод Send() SmtpClient .Перед отправкой есть ли способ получить исходную версию почтового сообщения (в том виде, в каком его может видеть протокол), чтобы я мог передать это инструменту spamassassin для оценки спама?

Если я объяснил не очень хорошо, дайте мне знать, и я постараюсь объяснить лучше.

Заранее спасибо,

Мартин.

Это было полезно?

Решение

Я нашел решение своей проблемы.

Класс SmtpClient имеет два свойства, которые можно задать, которые приводят к тому, что электронное письмо сохраняется в файле EML, а не фактически отправляется.Первоначальная цель этого заключается в том, чтобы электронное письмо могло быть сгенерировано с помощью SmtpClient, но на самом деле было принято и отправлено другим SMTP-сервером.

SmtpClient.DeliveryMethod
SmtpClient.PickupDirectoryLocation

Если для SmtpClient.DeliveryMethod задано значение SmtpDeliveryMethod.Указаны pickupdirectory и SmtpClient.Для PickupDirectoryLocation устанавливается полный путь к некоторому каталогу на компьютере, затем вызывается SmtpClient.Отправить (MailMessage);заставляет его быть сохраненным.

В свою очередь, вновь созданный EML-файл может быть передан в spamassassin непосредственно из командной строки, чтобы получить необходимый мне показатель спама.

Надеюсь, эта информация поможет кому-нибудь еще с этой проблемой.

С наилучшими пожеланиями,

Мартин.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top