1

私は現在、送信 SMTP サーバーをさらにひねりを加えてセットアップする必要があります。ユーザーが電子メールを送信し、このサーバーがメールを受信した場合、メッセージの送信元の電子メール アドレスを SQL データベースに検証する必要があります。

つまり、メールアドレスとアクティブ/非アクティブのステータス列を含むテーブルがあります。ユーザーが電子メールを送信すると、SMTP サーバーに送信されます。電子メールが SMTP サーバーによって受信されると、サーバーはメールの送信元の電子メール アドレスを取得し、データベースに対して検証して、電子メール アドレスの対応するステータスを確認する必要があります。そのステータスがアクティブである場合、メッセージは送信先アドレスに中継されます。そうでない場合は、電子メールが非アクティブであることを示す返信メッセージをその電子メール アドレスに送信する必要があります。

私の質問はこうです。これを行う C# で独自の SMTP サーバー アプリを作成するのが最善でしょうか、それとも、この機能を取得する方法を設定できる IIS などのすぐに使えるソリューションがありますか?

C# で自分の電子メール サーバー アプリを書き直すのは、汚い解決策であり、車輪の再生成のように思えますか?

スクリプトを使用できる IIS SMTP サーバーの OnArrival 機能について読みました。それについて何か考えはありますか?

4

1 に答える 1

1

これはあなたを助けるものだと思います:
Windows IIS SMTP のスクリプトに受信メールをパイプしますか?

回答の一部:

IIS SMTP サービスは、電子メールを送信でき、電子メールを受け入れることもできます。

これがあなたがしたいことです。

ドメインの電子メールを受け入れるように IIS SMTP サービスを構成します (ドメインの下の IIS SMTP サービスのプロパティで構成できます)。ドメイン名を「myserver.example.com」と言います

次に、DNS サーバーで、「myserver.example.com」を指す MX レコードを構成します。

これで、電子メールが IIS SMTP サーバーに送信されると、実際には mailroot/drop フォルダーに配置されます (IIS SMTP サービスのプロパティでこのフォルダーを変更することもできます)。

電子メールを受け入れるようになったので、次のステップは次のようなスクリプトを作成することです。

1) メールを解析します。

2) それに応じてそれらを変更します (「宛先」アドレスを変更したいだけですか?)。

ここにトリックがあるので、受信メールを解析し、メールを検証し、検証に合格しないものだけを転送する必要があります..メールから「FROM」アドレスを読んで返信してください!

3) メールを再送信する場合は、それに応じて変更する必要があります。メールを送信するメールアドレスを識別するために使用される単一の X-Sender ヘッダーと、メールを受け入れる受信者ごとに X-Receiver ヘッダーを追加する必要があります。変更された電子メールの例を次に示します。

X-Sender: me@mywebsite.com X-Receiver: recip1@theirdomain.com X-Receiver: recip2@theirdomain.com From: "jim bob" To: Subject: test MIME-Version: 1.0 Content-Type: text/plain ; メッセージ ID: <024f01c9e130$b3eca500$0401a8c0@local>

テスト この変更されたコンテンツを取得したら、それを mailroot/pickup ディレクトリ内のファイルに書き込みます。必ず一意の名前を使用してください。

IIS SMTP サービスが到着し、電子メールを取得して中継し、X-Sender を MAIL FROM アドレスとして使用して電子メールを送信し、各 X-Receiver ヘッダーにリストされている各電子メール アドレスに送信します。

4) このスクリプトをスケジュールされたタスクとして実行します。もう 1 つのオプションは、Windows サービスとしてビルドするか、電子メールがファイルとして作成されるたびに実行される filesystemwatcher のようなものを実装することです。

5) これらすべてに対するもう 1 つのオプションは、SMTP イベント シンクを実際に実装することですが、それはやりたいことに対してやり過ぎであり、解決するよりも多くの頭痛の種を生み出す可能性があると思います。痛みが好きな場合にのみ、イベント シンク ルートを使用します。

于 2012-12-02T06:41:16.643 に答える