在 C# 中使用 AE.Net.Mail 访问 GMail
Posted
技术标签:
【中文标题】在 C# 中使用 AE.Net.Mail 访问 GMail【英文标题】:Accessing GMail using AE.Net.Mail in C# 【发布时间】:2013-07-22 09:54:02 【问题描述】:我已经实现了以下示例代码来访问 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;
如果有人遇到类似的问题,请告诉我,以及如何解决。
谢谢, 斯里拉姆
【问题讨论】:
小提示:您正在创建一个列表我假设您遇到的错误来自尝试连接到远程 IMAP 服务器的ImapClient
构造函数引发的异常。该错误是Winsock error 10060 (Connection timed out.),如果您的连接数据包被阻止或者您尝试连接到错误的主机或错误的端口,通常会发生这种情况。你有几个选择:
imap.gmail.com
看看是否可达
993 是 IMAP SSL 端口,因此您可以使用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
【讨论】:
非常感谢博扬!我会尝试你提到的所有要点!一旦我成功了就会更新你.. 它在我的家庭笔记本中工作。这是如何在我们的工作环境中不工作的。如你所说,993端口没有打开。感谢您的意见!以上是关于在 C# 中使用 AE.Net.Mail 访问 GMail的主要内容,如果未能解决你的问题,请参考以下文章
如何在 C# 中将非 mime 消息转换为 mime 邮件消息
带有 MimeKit、C# Winforms 和 Google API 的 Gmail 草稿(带附件的 HTML)
C# WPF 应用程序中的 Keycloak:如何在普通 MVVM WPF 应用程序中访问 C# 中给定用户/密码的角色?