C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

ツリー一括表示

MailKitでPop3サーバーからメールを受信 /青い子豚 (20/02/13(Thu) 18:51) #93863
Re[1]: MailKitでPop3サーバーからメールを受信 /青い子豚 (20/02/14(Fri) 13:37) #93868 解決済み


親記事 / ▼[ 93868 ]
■93863 / 親階層)  MailKitでPop3サーバーからメールを受信
□投稿者/ 青い子豚 (4回)-(2020/02/13(Thu) 18:51:56)

分類:[.NET 全般] 

MailKitでPop3サーバーからメールを受信するプログラムを作成しております。

自社の環境ではメールを受信することができましたが
まったく同じコードで、
NTTPCコミュニケーションズのメールサーバー「WebARENA」の環境でメールを受信することができず
例外が発生します。
--------------------------------------------------------------------------
using (var pop3 = new Pop3Client(new ProtocolLogger("pop3.log")))
{
    pop3.Connect("yyy.co.jp", 110, MailKit.Security.SecureSocketOptions.None);
    pop3.Authenticate("user", "password");
    Console.WriteLine("成功");
}
--------------------------------------------------------------------------

受信できなかった際のログ
pop3.logには「S: -ERR authorization first」の記載があります。
onnected to pop://xxx.co.jp:110/
S: +OK oooo@arena.ne.jp
C: CAPA
S: -ERR authorization first
C: APOP xxxxx yyyyyyyyyyyy
S: -ERR authorization failed
C: USER xxxxx

発生した例外
MailKit.Net.Pop3.Pop3ProtocolException: The POP3 server has unexpectedly disconnected.




WebARENAはメーラの設定はホームページによると
受信サーバーのポート番号:	995(POP)
使用する暗号化接続の種類:	SSL
を指定するよう記載があります。(下記リンク)
https://web.arena.ne.jp/support/mailhosting/manual/mail/instruction.html


しかしWindows10のOutlook2013では
受信サーバーのポート番号:	110
「このサーバーは暗号化された接続(SSL)が必要」はチェックOFFでメールを受信できます。

反対に
受信サーバーのポート番号:	995
「このサーバーは暗号化された接続(SSL)が必要」はチェックONでメールを受信できません。


ネットでもいろいろ検索したのですが、原因が全くわからず
どうすれば受信できるのか、まったく手掛かりがない状態です。

もし、どなたかご存じの方がおられましたらご教授お願いいたします。
こうすれば繋がるかもといったヒントでも構いませんので、よろしくお願いいたします。


[ □ Tree ] 返信 編集キー/

▲[ 93863 ] / 返信無し
■93868 / 1階層)  Re[1]: MailKitでPop3サーバーからメールを受信
□投稿者/ 青い子豚 (5回)-(2020/02/14(Fri) 13:37:16)
自己解決しましたので、ご報告します。

下記の情報を発見しました。
https://github.com/jstedfast/MailKit/issues/539


おそらく原因はWebARENAがAPOPを適切に実装していない?ようで
APOPを削除してやることで認証が通りました。

pop3.Connect(config.Host, config.Port, config.SecureSocketType.GetSecureSocketOptions());
pop3.Capabilities &= ~MailKit.Net.Pop3.Pop3Capabilities.Apop;
pop3.Authenticate(config.User, config.Password);


ありがとうございました。

解決済み
[ 親 93863 / □ Tree ] 返信 編集キー/


管理者用

- Child Tree -