0

C# で任意の電子メール アカウントから任意の受信者に電子メールを送信することは可能です? つまり、両方のsmtpサーバーが異なります。

私はそれについて多くの記事を読み、さまざまなアプローチを試みましたが、効果はありませんでした. 1 つのアプローチを使用すると、「メールボックスを利用できません。サーバーの応答は: ローカル受信者である必要があります」というエラーが表示されます。これは、送信者と受信者が同じ smtp サーバーからのものでなければならないことを意味します。

もう 1 つのアプローチはcodeprojectからのものでした。電子メールが一部の受信者に送信されないことが非常に多く、1 回ではなく 4 回送信されることもあります。これは、すべての電子メール アドレスに対して信頼できるわけではありません。

4

1 に答える 1

2

C# では、SMTP サーバーで許可されていれば、任意のアカウントから任意のアカウントに送信できます。ランダムな SMTP サーバーに接続して、そのサーバーから他のサーバー上のアドレスにメールを送信することは期待できません。このようなことはオープン リレーと呼ばれ、多くのスパムの送信元です (または、少なくとも以前はそうでした)。

通常、SMTP サーバーを使用してメールを送信する場合は、ユーザー名とパスワードでログイン (認証) する必要があります。そうすれば、ISP が無意識のうちにスパム問題に加担することはありません。ログインしたら、SMTP サーバーに、あなたからのメールを別のサーバーのアカウントを持つ誰かに中継するように指示できます。

name@somewhere.com にメールを送信したいが、中継を行う SMTP サーバーにログインできない場合は、ドメイン something.com を提供する SMTP サーバーに直接接続する必要があります。それでも、設定によっては、あなたからのメールを受け付けない場合があります。SMTP サーバーは、あなたの IP アドレスが、(DNS システムによって) yourname@yourdomain.com 宛てのメールを処理することがわかっている SMTP サーバーの IP アドレスと一致するかどうかを確認するために、しばしば逆引きを行います。

C# の SMTP サポートにより、サーバーへの接続、ログイン、およびメールの送信が可能になります。サーバーがそれを許可するかどうかは、まったく別のことです.

于 2013-02-19T19:50:59.620 に答える