4

私がやろうとしているのは、スパム スコアを計算するために、送信メールの生のコンテンツを spamassassin に渡すことです。メールの生のコンテンツを取得する方法に行き詰まっています。

私の C# コードは現在、MailMessage を作成して、SmtpClient の Send() メソッドに渡すだけです。送信する前に、スパム評価のためにこれを spamassassin ツールに渡すことができるように、メール メッセージの生のバージョンを取得する方法はありますか?

うまく説明できていない場合は、お知らせください。よりよく説明できるように努めます。

前もって感謝します、

マーティン。

4

1 に答える 1

6

私は自分の問題の解決策を考え出しました。

SmtpClientクラスには、電子メールを実際に送信するのではなくEMLファイルに保存するように設定できる2つのプロパティがあります。これの本来の目的は、電子メールをSmtpClientで生成できるが、実際には別のSMTPサーバーによって取得および送信されるようにすることです。

SmtpClient.DeliveryMethod
SmtpClient.PickupDirectoryLocation

SmtpClient.DeliveryMethodがSmtpDeliveryMethod.SpecifiedPickupDirectoryに設定され、SmtpClient.PickupDirectoryLocationがマシン上のディレクトリのフルパスに設定されている場合は、SmtpClient.Send(mailMessage);を呼び出します。保存されます。

次に、新しく作成したEMLファイルをコマンドラインで直接spamassassinに渡して、必要なスパムスコアを取得できます。

この情報がこの問題で他の誰かに役立つことを願っています。

敬具、

マーティン。

于 2009-01-15T12:28:11.463 に答える