gpt4 book ai didi

c# - 在 C# 中使用 AE.Net.Mail 访问 GMail

转载 作者:太空狗 更新时间:2023-10-29 23:08:30 27 4
gpt4 key购买 nike

我已经实现了以下示例代码来访问 gmail 并使用 AE.Net.Mail 获取前 10 个邮件主题。

我想知道到底出了什么问题,我反复收到错误

A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 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;
}
}
}

如果有人遇到类似的问题,请告诉我,以及如何解决的。

谢谢,斯里拉姆

最佳答案

我假设您收到的错误是由于 ImapClient 构造函数抛出的异常,该构造函数试图连接到远程 IMAP 服务器。该错误是 Winsock error 10060 (Connection timed out.)如果您的连接数据包被阻止或者您尝试连接到错误的主机或错误的端口,通常会发生这种情况。您在这里有几个选择:

  • ping/traceroute 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

关于c# - 在 C# 中使用 AE.Net.Mail 访问 GMail,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17784551/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com