0

メールを読むためにmail.dllを使用しています。以前、Gmail アカウントからメールを読んでいましたが、すべて問題なく動作していました。ここで、アプリケーションを別のサーバーに移動し、Microsoft Exchange からメールを読み取る必要があります。使用しているコードは次のとおりです。

using (Imap imap = new Imap())
{
   imap.Connect("server-name", port number);
   imap.Login("username", "password");
   imap.SelectInbox();
   List<long> uids = imap.Search(Flag.Seen);

   if (uids.Count > 0)
   {
       string eml = imap.GetMessageByUID(uids[0]);
       IMail email = new MailBuilder().CreateFromEml(eml);
       imap.GetMessageByUID(uids[0]);
       lbResponse.Text = email.Subject;
   }
    else
    {
       lbResponse.Text = "No mails found";
     }
  imap.Close();
}

telnet を使用してポートとサーバーを確認しましたが、正しいです。しかし、「トランスポート接続からデータを読み取ることができません。接続先が一定期間後に適切に応答しなかったため、接続の試行に失敗したか、接続されたホストが応答に失敗したために確立された接続に失敗しました」というエラーが表示されます。助けてください。

4

1 に答える 1

3

Exchange サーバーで IMAP が有効になっていることを確認します。

http://technet.microsoft.com/en-us/library/bb124489.aspx

以下の使用も検討してください。

imap.Search(Flag.Seen)

SearchFlagは最新バージョンでは廃止されました: http://www.limilabs.com/mail

于 2013-01-23T16:45:20.083 に答える