System.Net.Mail.MailMessage Rawコンテンツ/スパムアサシン
-
22-07-2019 - |
質問
私がやろうとしているのは、スパムスコアを計算するために、送信メールの生のコンテンツをspamassassinに渡すことです。メールの未加工のコンテンツを取得する方法にこだわっています。
現在、私のC#コードはMailMessageを作成し、SmtpClientのSend()メソッドに渡します。送信する前に、メールメッセージの未加工バージョンを取得する方法はありますか(プロトコルで表示される場合があります)、これをスパム評価のためにspamassassinツールに渡すことができますか?
あまりうまく説明していない場合はお知らせください。もっとうまく説明しようと思います。
事前に感謝、
マーティン。
解決
問題の解決策を考え出しました。
SmtpClientクラスには、メールを実際に送信するのではなく、EMLファイルに保存するように設定できる2つのプロパティがあります。これの元々の目的は、SmtpClientを使用して電子メールを生成し、実際に別のSMTPサーバーによって受信して送信できるようにすることです。
SmtpClient.DeliveryMethod
SmtpClient.PickupDirectoryLocation
SmtpClient.DeliveryMethodがSmtpDeliveryMethod.SpecifiedPickupDirectoryに設定され、SmtpClient.PickupDirectoryLocationがマシン上のディレクトリのフルパスに設定されている場合、SmtpClient.Send(mailMessage)を呼び出します。保存されます。
次に、新しく作成したEMLファイルをコマンドラインでspamassassinに直接渡して、必要なスパムスコアを取得できます。
この情報は、この問題を抱えている他の誰にも役立つことを願っています。
よろしく、
マーティン。