Tôi đã triển khai mã mẫu sau để truy cập gmail và nhận 10 đối tượng thư đầu tiên sử dụng AE.Net.Mail.Truy cập GMail bằng AE.Net.Mail trong C#
Tôi tự hỏi những gì là chính xác đi sai, tôi liên tục nhận được lỗi
Một nỗ lực kết nối thất bại vì các bên kết nối không đúng cách phản ứng sau một khoảng thời gian, hoặc thiết lập kết nối thất bại vì kết nối máy chủ không phản hồi 173.194.79.108:993
Đây là mã.
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 = "[email protected]"; // 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;
}
}
}
Hãy cập nhật cho tôi nếu có ai gặp phải vấn đề tương tự như thế này và cách giải quyết vấn đề.
Cảm ơn, Sriram
Chỉ cần một mẹo nhỏ: bạn đang tạo một danh sách và sau đó trong dòng tiếp theo bạn loại bỏ nó và tạo một hình mới với ToList(); Nếu bạn muốn thêm vào danh sách bạn đã tạo, bạn phải sử dụng AddRange (...). Trong trường hợp của bạn, bạn tạo 2 danh sách mà bạn chỉ sử dụng danh sách thứ hai –
riki