53

定期的に POP3 電子メール ボックスにアクセスして電子メールを取得するために、サーバー ベースのコンポーネントを必要とする Web アプリケーションがあります。次に、サービスは以下を含む電子メールを処理する必要があります。

  • いくつかのビジネス ルールに対して電子メールを検証する (件名に有効な参照が含まれているか、どのユーザーがメールを送信したかなど)。
  • 添付ファイルの分析とディスクへの保存
  • 電子メールの本文と添付ファイルの詳細を取得し、データベースに新しいアイテムを作成します
  • または、参照が受信メールの件名と一致する既存のアイテムを更新します

これにアプローチする最良の方法は何ですか?POP3 クライアントを最初から作成する必要はありませんが、電子メールの処理をカスタマイズできるようにする必要があります。理想的には、アクセスと取得を行うコンポーネントをプラグインして、添付ファイル、本文テキスト、件名などの配列を返し、処理の準備ができるようにすることができます...

[更新: レビュー]

さて、私は (主に無料の) .NET POP3 ライブラリを調べるのにかなりの時間を費やしたので、以下で言及されているもののいくつかと他のいくつかについて簡単にレビューしたいと思います。

  • Pop3.net - 無料 - 問題なく動作しますが、提供される機能に関しては非常に基本的です。これはほとんど POP3 コマンドといくつかの base64 エンコーディングだけですが、非常に簡単です - おそらく良い紹介です
  • Pop3 Wizard - 商用 / 一部のオープン ソース コード - これをビルドできませんでした。DLL がありません。気にしません。
  • C#Mail - 個人使用は無料 - うまく動作し、Mime パーサーと SMTP クライアントが付属していますが、コメントは日本語で (大したことではありません)、SSL では動作しませんでした。 SslStream コンストラクターを変更した後、問題なく動作しました
  • OpenPOP - フリー - は約 5 年間更新されていないため、現在の状態は .NET 1.0 であり、SSL をサポートしていませんが、解決するのに問題はありませんでした - 既存のストリームを SslStream に置き換えただけで機能しました。Mime パーサーが付属しています。

無料のライブラリでは、C#Mail か OpenPOP を選びます。

ChillkatRebexRemObjectsJMail.netなどの商用ライブラリをいくつか調べました。機能、価格、および会社の印象に基づいて、私はおそらく Rebex を選びますが、要件が変更されたり、C#Mail または OpenPOP のいずれかで生産上の問題が発生した場合は、将来的にそうする可能性があります。

誰かがそれを必要とする場合に備えて、これは私が C#Mail と OpenPOP で SSL を有効にするために使用した代替 SslStream コンストラクターです。

SslStream stream = new SslStream(clientSocket.GetStream(), false,
                 delegate(object sender, X509Certificate cert,
                 X509Chain chain, SslPolicyErrors errors) { return true; });
4

15 に答える 15

28

私はOpenPop.NETの主な開発者の 1 人です。私はちょうどこのレビューに落ちました.OpenPop.NETの現在の状態に関するいくつかのコメントが必要でした.

OpenPop.NET は活発な開発に戻りました。SSL は半年前に導入されました。プロジェクトは大幅にリファクタリングされ、より安定して使いやすくなりました。私がプロジェクトを引き継いだとき、そこには多くのバグがありましたが、今のところ何も知りません。主に MIME パーサー部分に多くの追加機能が実装されています。プロジェクトは単体テストによって支えられており、バグが見つかるたびに、バグを修正する前に単体テストが作成されます。例を含む付属の Web サイトが現在存在します。他にも更新がありましたが、すべてを言及したくはありません。

また、OpenPop.NET のライセンスはLGPLからパブリック ドメイン(制限なし) に変更されました。これは、商用ユーザーにとって大きな改善だと思います。

于 2010-12-25T11:56:00.887 に答える
7

最近、あるプロジェクトでOpenPopの実装を行いましたが、満足しています。それはブリキに書かれていることをします。(しかも無料です。)

于 2008-10-25T14:57:28.600 に答える
6

SslStream クラスのコンストラクタを修正してアップロードしました。推奨版で問題なく使用できます。

于 2008-12-24T14:50:04.517 に答える
2

Mail.dll.NETメールコンポーネントをランキングに含めることをお勧めします。SSLサポート、Unicode、および多国間電子メールサポートがあります。

using(Pop3 pop3 = new Pop3())
{
    pop3.Connect("mail.host.com");      // Connect to server
    pop3.Login("user", "password");     // Login

    foreach(string uid in pop3.GetAll())
    {
        IMail email = new MailBuilder()
   .CreateFromEml(pop3.GetMessageByUID(uid));

        Console.WriteLine(email.Subject);
    }
    pop3.Close(true);  
}

IMAPプロトコルもサポートされています。

これは私が作成した商用製品であることに注意してください。

ここからダウンロードできます:http://www.lesnikowski.com/mail

于 2010-05-18T10:51:08.780 に答える
2

C# Mailは Codeplex で利用でき、非常に使いやすいです。

于 2008-10-25T14:51:53.823 に答える
1

私は自分でMimeパーサーを作成し、それをCodePlexに追加しました。これは、奇妙なエンコーディングや添付ファイルの奇妙な組み合わせに関して、他の例外との未処理の例外が発生し続けたためです。pop3クライアントの実装は大雑把で、テスト目的で作成されたものですが、問題なく処理されます。Mimeパーサー部分は、標準のMailMessageオブジェクトにデータを入力するため、そのまま簡単に転送できます。リクエストに応じて拡張/改善できますが、今のところ、必要に応じて問題なく機能します。お気軽にチェックしてください。

http://www.codeplex.com/mimeParser

于 2008-12-06T06:24:20.193 に答える
1

gmail にアクセスするために SSL が必要な場合は、SSL サポートを提供する OpenPOP.net ライブラリへのいくつかの変更を次に示します。

OpenPop.net が変更され、Gmail にアクセスするための SSL サポートが含まれるようになりました

于 2009-07-11T21:38:19.023 に答える
1

Lumisoftはオープンソースであり、POP クライアントが含まれています (とりわけ)。それは何年も前から存在しており、非常に安定しています。

于 2008-12-08T14:04:19.767 に答える
1

http://ifdefined.com/bugtrackernet.htmlで、私のオープン ソース アプリ BugTracker.NET での POP3 統合を見てみましょう。すべて無料でオープンソース。最も難しい部分である MIME の解析は、 http: //anmar.eu.org/projects/sharpmimetools/ の SharpMimeTools によって BugTracker.NET で行われます。

私が POP3 と MIME ロジックをどのように使用しているかを示す重要なファイルは、POP3Client.cs と insert_bug.aspx です。

于 2008-10-25T17:32:05.193 に答える
1

メール処理の一部を自動化する必要があったためです。OpenPop.net を使用して、このライブラリでメールメッセージを転送する方法を探していたところ、この驚くべき機能に出会いました: http://hpop.sourceforge.net/documentation/OpenPop~OpenPop.Mime.Message.ToMailMessage.html

要約すると、私はOpenPop.Netを選び、それをお勧めします!

よろしく、 JP

于 2011-02-25T14:54:13.290 に答える
1

codeproject.com には、POP3 クライアントの実装がいくつかあります。私はそれらを評価していませんが、必要なものが見つかるかもしれません。そうでない場合、POP3 は非常に単純なプロトコルであると言えます。4 ~ 5 個のコマンドを知っていれば、telnet で POP3 ボックスを読み取ることもできます。

実際には、このコマンドと添付ファイルの base64 デコードが必要なだけです。それでおしまい。

于 2008-10-25T13:19:48.180 に答える
1

Jmail.NET . これ以上見ないでください。無料版には POP3 が含まれていないことに注意してください。Standard バージョン (またはそれ以上) を使用することをお勧めします。心配しないでください、それは高価ではありません。

于 2008-10-25T13:23:26.533 に答える
1

DasBlog は優れた (そして無料の) ものを使用しています - ソース パッケージを入手してください。私はそれを使用しました (しかし、誰がそれを書いたか思い出せません。また、私は自分のラップトップを使用していません - Pavel LI だと思いますか?)。完全ではありませんし、SSL にも対応していませんが、それ以外は問題なく機能します。

于 2008-10-25T17:45:35.947 に答える
0

コンポーネントの料金を支払うことを気にしない場合は、過去にチルカットで大きな成功を収めました. 数百ドルで、良さがぎっしり詰まったライブラリを手に入れることができます。

于 2008-10-25T13:33:10.610 に答える