2011-01-06 7 views
5

受信メールを読むための解決策を探しています。私は、現時点ではこれを行うと考えることができる3つの方法がある:C#を使用して受信メールを読むにはどうすればいいですか

  1. は、既存のExchange Serverにすでに電子メールで設定されているOutlookに
  2. フックを電子メールサーバ
  3. メールを解析するフックを作成します。アカウント

これを行うにはどうすればよいですか?そして、それを実装するにはどうしたらいいですか?

おかげ

+0

これは本当にあなたが電子メールで何をしようとしているのかにかかっていると思います。 Webアプリケーションを作成する場合は、ポーリングするか、サービスを使用して受信メールを受信すると役立ちます。あなたが実際にOutlookの観点から電子メールと対話したい場合は、アドオンを構築することが役に立ちます。 –

+0

@スティーブメールを添付して読んで解析し、自動応答を送りたいと思っています。 – Chris

答えて

9

あなたはすでに私が(推奨)IMAPまたはPOPアクセスを経由していることを活用示唆しているメールボックスのホストとしてExchangeサーバーを扱っている場合。最近、特定のメールボックスにAfterLogic's MailBee.NET IMAP componentでアクセスするソリューションを開発しました。これはお勧めの価値があると思います。彼らは標準的な試用版と合理的な価格設定を持っています。また、このルートを使用する場合、POPまたはIMAPの自動化は、ほぼすべてのメールボックスサーバープラットフォームで動作するように柔軟性があります。 Exchange環境に限定する必要はありません。

無料の.NET IMAPコンポーネントもあります。このコンポーネントは、そのジョブを実行する可能性もあります。私の限られた研究では、自由な選択肢が私の要件のすべてを満たしていないか、または学習するのが簡単ではないが、あなたの状況が異なる可能性があることがわかりました。完全を期すために、ここで私はMailBeeのにお金を費やすことを決定する前に考慮する無料/代替IMAPライブラリのリストである: - http://hellowebapps.com/products/imapx/

  • LumiSoft.Net IMAPクライアント - http://www.lumisoft.ee/lswww/download/downloads/Net/
  • InterIMAP

    私の最近のプロジェクトの実装では、非常に単純なコンソールアプリケーションe MailBee.NET IMAPライブラリ。コンソールアプリケーションには標準設定ファイルがあり、コマンドライン引数をパラメータとして受け入れます。私たちは、Windowsのスケジュールされたタスクを定義して、プロセスのニーズに応じてコンソールアプリケーションを実行します。私はあなたが他の方法でこれをいくつか行うことができると確信していますが、これは私たちのニーズにとって最も簡単なアプローチでした。

  • +0

    +1 MailBeeでは、私たちもそれを使用しています。 – PhilPursglove

    +0

    上記のコメントをいただければ、この回答は素晴らしいと思いますが、投票することなく直接メールを配信する方法があることを忘れないでください。メールサーバーを設定して電子メールをHTTPリクエストとして送信することも、サードパーティのサービスを使ってメールを送信することもできます(私は1つしか実行しないのでここでは言及しませんが、 –

    2

    既存のIMAPサーバーとそれにはIMAP componentを使用してください。

    あなた自身のIMAPサーバーを作成することは、私の意見では大きなセキュリティリスクです。

    は無料コンポーネントがありますが、それらのほとんどは国別文字と「標準ではない」の電子メールメッセージに問題がある...と(LumiSoft.Netは、ほぼ2年間放棄されます)なしサポート

    using(Imap imap = new Imap()) 
    { 
        imap.Connect("imap.server.com"); 
        imap.Login("user", "password"); 
    
        imap.SelectInbox(); 
        List<long> uidList = imap.Search(Flag.Unseen); 
        foreach (long uid in uidList) 
        { 
         IMail email = new MailBuilder() 
          .CreateFromEml(imap.GetMessageByUID(uid)); 
         Console.WriteLine(email.Subject); 
         Console.WriteLine(email.Attachments.Count); 
        } 
        imap.Close(); 
    } 
    
    があります

    Mail.dllにはSMTPコンポーネントとtemplate engineも含まれているので、簡単に返信を送信できます。

    免責事項:私はこの商品の開発に携わっています。

    5

    私は、これは古いスレッドです知っているが、私は偉大なオープンソースのIMAPライブラリと呼ばれるImapX2へのリンクを追加したい:http://imapx.codeplex.com/

    私は成功の度合いを変化させるには、このスレッド内のリンクのほとんどを試みたが、私が見つかりました。私の必要に応じてImapX2ライブラリが最適に動作することを確認してください。

    関連する問題