首页 > 解决方案 > MailKit 身份验证失败

问题描述

我有下面的代码

MimeMessage message = new MimeMessage();

        MailboxAddress from = new MailboxAddress("Admin",
        "myemail@gmail.com");
        message.From.Add(from);

        MailboxAddress to = new MailboxAddress("User",
        "myemail2@gmail.com");
        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("myemail@gmail.com", "pass");
        client.Send(message);
        client.Disconnect(true);
        client.Dispose();

它说我的凭据不正确,即使它们是正确的。我正在使用MailKitMimeMessage。我在这里做错了什么?

标签: asp.net-coreasp.net-mvc-5asp.net-core-mvcmailkit

解决方案


你可以使用类似的东西。

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);
}

更新

去这个链接

在此处输入链接描述

并允许使用不太安全的应用程序。


推荐阅读