Ошибка аутентификации MailKit

У меня есть код ниже

MimeMessage message = new MimeMessage();

        MailboxAddress from = new MailboxAddress("Admin",
        "[email protected]");
        message.From.Add(from);

        MailboxAddress to = new MailboxAddress("User",
        "[email protected]");
        message.To.Add(to);

        message.Subject = "Hi user";
        BodyBuilder bodyBuilder = new BodyBuilder();
        bodyBuilder.TextBody = "message body here";
        message.Body = bodyBuilder.ToMessageBody();
        SmtpClient client = new SmtpClient();
        
        client.AuthenticationMechanisms.Remove("XOAUTH2");
        client.Connect("smtp.gmail.com", 465, true);
        client.Authenticate("[email protected]", "pass");
        client.Send(message);
        client.Disconnect(true);
        client.Dispose();

В нем говорится, что мои учетные данные неверны, даже если они верны. Я использую MailKit и MimeMessage. Что я здесь делаю не так?


person aaarianme    schedule 10.02.2021    source источник


Ответы (3)


Вы можете использовать что-то подобное.

var message = new MimeMessage();
message.From.Add(new MailboxAddress("Test Project",
"your email"));
message.To.Add(new MailboxAddress("pritom", email));
message.Subject = "Hi,this is demo email";
message.Body = new TextPart("plain")
{
Text = "Hello,My First Demo Mail it is.Thanks",
};
//add attach
MemoryStream memoryStream = new MemoryStream();
BodyBuilder bb = new BodyBuilder();
using (var wc = new WebClient())
{
//bb.Attachments.Add("attachmentName",
wc.DownloadData("wwwroot/Images/H.pdf"));
bb.Attachments.Add("Email.pdf",
wc.DownloadData("wwwroot/Images/Email.pdf"));
//bb.Attachments.Add("H.pdf", new MemoryStream());
}
message.Body = bb.ToMessageBody();
//end attach
using (var client = new SmtpClient())
{
client.Connect("smtp.gmail.com", 587, false);
client.Authenticate("your email",
"yourpassword");
client.Send(message);
client.Disconnect(true);
}

Обновить

перейдите по этой ссылке

введите здесь описание ссылки

и разрешить менее безопасное приложение.

person Pritom Sarkar    schedule 10.02.2021
comment
вот что я делаю, но аутентификация по какой-то причине не работает - person aaarianme; 10.02.2021
comment
myaccount.google.com/lesssecureapps перейдите по этой ссылке и включите это действие. - person Pritom Sarkar; 10.02.2021

попробуйте использовать порт 587 вместо 465. Вот ссылка на мой репозиторий github, простой проект для отправки писем. https://github.com/osman-developer/sendingMails

person Othman Al-Moussawel    schedule 10.02.2021
comment
все еще говорит, что мои учетные данные неверны - person aaarianme; 10.02.2021

Если вы столкнулись с той же проблемой, зайдите в свою учетную запись gmail ›безопасность› разрешите менее безопасные приложения. Это решило мою проблему

person aaarianme    schedule 10.02.2021