2

最近、Web アプリケーションの 1 つを新しいホスティング プロバイダーに移動する必要がありました。メールと Web サービスはまだ古いホスティング サイトに保持されていますが、新しいサーバーからメールを送信しようとすると、エラーが発生します。

「サーバーは 1 つ以上の受信者アドレスを拒否しました。サーバーの応答は次のとおりです。

450 <email_address>: Recipient address rejected: Greylisted for 5 minutes

これを修正するために何をする必要があるかを古いホスティングプロバイダーに尋ねたところ、彼らは次のように答えました

メール サーバーは POP before SMTP で動作します。サーバー経由でメールを送信する前に有効な POP ログインが受信されない場合、メールはグレーリストに登録され、再試行するまで 5 分間保持されます。

これを防ぐには、メールを送信する前に受信を行うだけです

C# で POP before SMTP を実行する方法を知っている人はいますか?

4

6 に答える 6

2

C# が詳細 (ソケット?) をどのように処理するかはわかりませんが、基本的には、新しい POP サーバーに接続したいだけです。POP トランザクションの例を次に示します。

$ telnet new-pop-server.com 110
Connected to new-pop-server.com.
Escape character is '^]'.
+OK
USER <username>
+OK 
PASS <password>
+OK               // you're authenticated at this point 
LIST
+OK 
.                 // no new messages!
QUIT
+OK 

承認されると、メールをプログラムで送信できるようになります。(USER、PASS、LIST、QUIT) はすべて、送信するコマンドです ( pop3 RFC )。

于 2008-11-11T22:40:43.063 に答える
1

あなたはすでにあなたが探しているコードを持っています、しかし私が私の考えを加えるかもしれないならば:他の誰かがすでに提案したように、私は彼らがSMTPでAUTHを提供するかどうか古いプロバイダーに確認します。私にとって、彼らが言っているのは、「SMTPを使用できるのは、同じIP範囲/サブネットから来ている場合、または自分自身を認証した場合のみです」ということです。多くのISPは、SMTPサーバーでこれを行っています。特定のISPを介して接続している場合は、AUTHクレデンシャルを明示的に指定せずにSMTPを使用できます。別のISPに切り替えて、古いISPのSMTPを使用する場合は、SMTPサーバーで明示的に認証する必要があります。

于 2008-11-18T05:58:09.990 に答える
1

提案どおり、コードをブログに追加しました。これまでに公開された最高のブログではありませんが、誰かが役に立つと思うかもしれません... POP-Before-SMTP

于 2008-11-18T01:47:26.907 に答える
1

POP3 は .NET Framework に組み込まれていないと確信しているため、Owen が提案したように自分で実装するか、このような既存の POP3 ライブラリを探す必要があります。

さらに良いのは、新しいホスティングプロバイダーにそのグレーリストルールを緩和するよう説得することです.

于 2008-11-12T00:02:40.997 に答える
1

このためのコードを書くことができました。私は解決策を共有したいと思っていますが (誰かが興味を持っている場合)、コードを Stackoverflow に配置する最善の方法がわかりません 約 50 行のコードです。

于 2008-11-12T22:08:46.980 に答える
1

新しいプロバイダーから接続するため、彼らはあなたをグレーリストに載せますよね? 新しいプロバイダーには、サーバーの IP 範囲からの接続を許可する SMTP がありませんか?

もう 1 つの方法は、MX ルックアップを自分で行い、電子メールの送信先アドレスの権限のある SMTP サーバーに直接接続することです。ただし、これにはグレーリストを処理する必要もあります。つまり、信頼できる配信を行うために 4xx 応答を再試行する必要があります。

代替手段として auth SMTP を提供しているかどうかプロバイダーに問い合わせる必要があるかもしれません。これは、SMTP サービスを使用する前に POP ログインが必要になる別の障害点の可能性です。

于 2008-11-11T22:47:48.307 に答える