我已经实现了以下示例代码来访问gmail并使用AE.Net.Mail获取前10个邮件主题.
我想知道到底出了什么问题,我一再得到错误
连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立的连接失败,因为连接的主机无法响应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 = "yourname@gmail.com"; // 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;
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果有人遇到类似这样的问题,请更新我,以及如何解决它.
谢谢,Sriram
我假设您获得的错误来自ImapClient尝试连接到远程IMAP服务器的构造函数抛出的异常.该错误是Winsock错误10060(连接超时.),如果您的连接数据包被阻止或者您尝试连接到错误的主机或错误的端口,通常会发生此错误.你有几个选择:
imap.gmail.com并查看它是否可访问openssl s_client -connect imap.gmail.com:993来检查是否可以连接到IMAP服务器.如果您连接,您将看到gmail的IMAP服务器证书和消息,* OK Gimap ready for requests之后您可以键入IMAP登录命令0 LOGIN username pass.993开放吗?imap.googlemail.com而不是imap.gmail.com| 归档时间: |
|
| 查看次数: |
4768 次 |
| 最近记录: |