Computer Science

IMAP Mail Import

.net core example

                        using MailKit.Net.Imap;
using MailKit;
using MimeKit;

public class MailMessage
{
    public string Subject { get; set; }
    public string From { get; set; }
    public string TextBody { get; set; }
    public string HtmlBody { get; set; }
}

public async Task<List<MailMessage>> EmailImport()
{
    string yourMailServer = "your_mail_server_name";
    int imapSSLPort = 993;
    string email = "example@example.com";
    string sifre = "your_mail_password";

    var mailList = new List<MailMessage>();

    try
    {
        using (var client = new ImapClient())
        {
            await client.ConnectAsync(yourMailServer , imapSSLPort, true);
            await client.AuthenticateAsync(email, sifre);

            var inbox = client.Inbox;
            await inbox.OpenAsync(FolderAccess.ReadOnly);

            for (int i = 0; i < inbox.Count; i++)
            {
                var message = await inbox.GetMessageAsync(i);

                mailList.Add(new MailMessage
                {
                    Subject = message.Subject,
                    From = message.From.ToString(),
                    TextBody = message.TextBody,
                    HtmlBody = message.HtmlBody
                });
            }

            await client.DisconnectAsync(true);
        }
    }
    catch (Exception ex)
    {
        Console.WriteLine($"Hata: {ex.Message}");
    }

    return mailList;
}
                    

Nuget Package

Install-Package MailKit