質問

私がやろうとしているのは、スパムスコアを計算するために、送信メールの生のコンテンツを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に直接渡して、必要なスパムスコアを取得できます。

この情報は、この問題を抱えている他の誰にも役立つことを願っています。

よろしく、

マーティン。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top