2013-07-22 5 views
5

次のサンプルコードを実装して、Gmailにアクセスし、AE.Net.Mailを使用して最初の10件のメール件名を取得しました。接続されているので、私は正確に間違って何が起こっているか、私は繰り返しエラーにC#でAE.Net.Mailを使用してGmailにアクセスする

を取得しています接続先が適切に一定期間後に応答、または接続 を確立していなかったため、接続の試行が失敗しただろ

に失敗しましたホストは、これはコードです 173.194.79.108:993

応答に失敗しました。

using System; 
using System.Collections.Generic; 
using System.Text; 
using System.Linq; 
using AE.Net.Mail; 
using AE.Net.Mail.Imap; 
using System.Configuration; 

namespace IMAP 
{ 
    class Program 
    { 
     private static void Main() 
     { 
      var items = ReadMail(); 
      if (items != null && items.Count > 0) 
      { 
       foreach (var item in items.Take(10)) 
       { 
        Console.WriteLine(item.Subject); 
       } 
      } 
      Console.ReadLine(); 
     } 
     public static List<MailMessage> ReadMail() 
     { 
      List<MailMessage> messages = null; 
      try 
      { 
       string userName = "[email protected]"; // Replace with your actual gmail id 
       string passWord = "password"; // Replace with your password 

       if (!string.IsNullOrEmpty(userName) && !string.IsNullOrEmpty(passWord)) 
       { 
        using (var imapClient = 
         new ImapClient("imap.gmail.com", userName, passWord,  ImapClient.AuthMethods.Login, 993, true)) 
        { 
         imapClient.SelectMailbox("INBOX"); 
         messages = new List<MailMessage>(imapClient.GetMessageCount()); 
         messages = imapClient.GetMessages(0, 100, false, true).ToList(); 
         imapClient.Disconnect(); 
        } 
       } 
       else 
       { 
        Console.WriteLine("Username or Password is empty!"); 
       } 
      } 
      catch (Exception ex) 
      { 
       Console.WriteLine(ex.Message); 
      } 
      return messages; 
     } 
    } 
} 

このような問題が発生した場合は、私に更新してください。

おかげで、 スリラム

+0

imap.googlemail.comを使用してみてください:)あなたは、リストを作成しているし、次の行に、あなたはそれを破棄し、.ToList(と新しいものを作成します。作成したリストに追加する場合は、AddRange(...)を使用する必要があります。あなたの場合、2番目のものだけを使用する2つのリストを作成してください – riki

答えて

6

私はあなたが取得しているエラーは、リモートIMAPサーバーに接続しようとするImapClientコンストラクタからの例外からであると仮定します。そのエラーはWinsock error 10060 (Connection timed out.)です。通常、接続パケットがブロックされている場合や、誤ったホストまたは間違ったポートに接続しようとすると発生します。あなたはIMAPサーバーに接続できるかどうかを確認するためにopenssl s_client -connect imap.gmail.com:993を使用できるようにIMAPのSSLポートである

  • のping/tracerouteのimap.gmail.com、それが到達可能
  • 993だかどうかを確認:あなたはここにオプションのカップルを持っています。接続すると、gmailのIMAPサーバ証明書とメッセージ* OK Gimap ready for requestsが表示され、その後にIMAPログインコマンド0 LOGIN username passと入力することができます。
  • プロキシの設定を確認してください。プロキシを使わずに接続してみてください。
  • ルータ/ファイアウォールの設定を確認してください。ポート993は開いていますか?
  • ほんの少し先端代わりimap.gmail.com
+0

ありがとうBojan!私はあなたが言及したすべての点を試してみましょう!私はそれを作るとあなたを更新します。 –

+0

それは私の家のノートブックで働いた。どのように私たちの仕事環境で働いていないです。あなたが言ったように、ポート993は開かれていません。あなたのご意見ありがとうございます! –

+0

ありがとうございました! – jonatanes

関連する問題