.NET には POP3 サーバーから電子メールをプルする方法がありますか、それともサードパーティのコンポーネントをコーディングまたは購入する必要がありますか?
5 に答える
Mail.dll .NET メール コンポーネントを確認できます。これには、SSL サポート、Unicode、および多国籍電子メール サポートがあります。
using(Pop3 pop3 = new Pop3())
{
pop3.Connect("mail.host.com"); // Connect to server
pop3.Login("user", "password");
foreach(string uid in pop3.GetAll())
{
IMail email = new MailBuilder()
.CreateFromEml(pop3.GetMessageByUID(uid));
Console.WriteLine( email.Subject );
}
pop3.Close(false);
}
http://www.limilabs.com/mailからダウンロードできます。
サードパーティのコンポーネントが最適です。NetStreamsを使用して生のPOP3コマンドを送信する代替手段よりもはるかに優れています[shudder]
QuiksoftからEasyMailオブジェクトをチェックしてください。それらは非常に使いやすく、サポートは本当に良いです。
I personally like the serverintellect components.
.NET フレームワークは POP3 をサポートしていません。
POP3 サーバーへの接続は簡単な作業です。プロトコルはとても簡単です。問題は、メッセージの正しい解析です。Unicode、vierd 形式の添付ファイル、Outlook によって生成される非標準の WinMail.dat のメッセージ本文、国際化の問題を処理できる適切な MIME または S/MIME パーサーが必要です。一般的なメール クライアントのバグや RFC 違反などを修正できるパーサーです。サード パーティの POP3 ライブラリが多数あります。codeproject にはいくつかの無料の POP3 ライブラリもあります。
Rebex POP3 for .NET をお試しください
// create client, connect and log in
Pop3 client = new Pop3();
client.Connect("pop3.example.org");
client.Login("username", "password");
// get message list - full headers
Pop3MessageCollection messages = client.GetMessageList(Pop3ListFields.FullHeaders);
// display info about each message
Console.WriteLine("UID | From | To | Subject");
foreach (Pop3MessageInfo message in messages)
{
Console.WriteLine
(
"{0} | {1} | {2} | {3}",
message.UniqueId,
message.From,
message.To,
message.Subject
);
}
client.Disconnect();