如何通过c#控制台应用程序读取邮件内容
本文关键字:读取 应用程序 何通过 控制台 | 更新日期: 2023-09-27 17:58:02
MailRepository rep = new MailRepository("imap.mail.yahoo.com", 993, true, @"xxxxx@yahoo.com", "*******");
foreach (Message email in rep.GetUnreadMails("Inbox"))
{
//Console.WriteLine(string.Format("<p>{0}: {1}</p><p>{2}</p>", email.From, email.Subject, email.BodyHtml.Text));
Console.WriteLine(email.From);
Console.WriteLine(email.Subject);
Console.WriteLine(email.BodyHtml.Text);
if (email.Attachments.Count > 0)
{
foreach (MimePart attachment in email.Attachments)
{
Console.WriteLine(string.Format("<p>Attachment: {0} {1}</p>", attachment.ContentName, attachment.ContentType.MimeType));
}
}
}
上面是我的代码,用于读取邮件内容。当我尝试gmail端口时,它运行得很好,但当我去雅虎或其他公司时。它不允许我读取邮件抛出异常。还有其他来源吗。请指导我
首先,检查您的凭据是否正确。
第二步,在构造函数中放入try-catch,看看是否可以获得有关未处理异常的更多信息:
public MailRepository(string mailServer, int port, bool ssl, string login, string password)
{
try {
if (ssl) {
Client.ConnectSsl(mailServer, port);
}
else {
Client.Connect(mailServer, port);
}
Client.Login(login, password);
}
catch(Exception ex)
{
//Check the exception details here
}
}
第三个,MailRepository
类的起源似乎就是从这里开始的,它使用了Imap4Client
实现,其他人抱怨它不适用于Yahoo:使用IMAP4 MailSystem.NET 连接到雅虎电子邮件
公认的答案建议使用ImapX 2-跨平台IMAP库.NET来处理GMail、Yahoo等。