0

SMTPClientSMTPサーバーにメールを送信するために使用しています。しかし、このSend方法では、偽の送信者名や電子メールを指定できます。どうすればこれを防ぐことができますか?

4

4 に答える 4

5

送信者の電子メールアドレスとして何を受け入れるかを決定するのはメールサーバーの仕事です。これはポリシーの問題です。

メールクライアントには「真の」電子メールアドレスがないため、クライアントで強制できるものはありません。

于 2010-11-10T08:58:44.380 に答える
2

送信者名が有効かどうかを判断するのは、SMTPサーバーの役割だと思います。実際、SMTP構成を複製することになるため、コードに導入することはDRYルールに違反します。

http://msdn.microsoft.com/en-us/library/swas0fwc%28v=VS.90%29.aspxでわかるように、SmtpExceptionsをキャッチし、ソフトウェアのユーザーに適切に表示する準備をする必要があります。

于 2010-11-10T08:59:11.493 に答える
0

SmtpClientではそれについて何もできません。

あなたはあなたのアプリケーションでそれについて何かをすることができます。ユーザーがメールを検証するためにクリックする必要がある確認メールを送信します。

あなたはあなたのSMTPサーバーでそれについて何かをすることができます。MXレコードまたは定義されたSPFポリシーを送信者のドメイン/IPアドレスと照合します。

于 2010-11-10T09:06:50.617 に答える
0

SMTPはメール転送プロトコルです(名前が示すように)。送信者の認証は担当していません。送信者を認証するには、SMTPがサポートする証明書を使用する必要がありますが、これも転送の手段と同じです。プログラム自体には、証明書を使用して送信者を認証するロジックが必要です。

認証を使用することもできますが、その場合、ユーザー名/パスワードを電子メールアドレスと照合するのはSMTPサーバーになります。

于 2010-11-10T10:25:25.253 に答える