MailKit 身份验证失败

时间:2021-02-10 07:37:37

标签: asp.net-core asp.net-mvc-5 asp.net-core-mvc 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。 我在这里做错了什么?

3 个答案:

答案 0 :(得分:1)

尝试使用端口 587 而不是 465。 这是我的 github 存储库的链接,这是一个发送邮件的简单项目。 https://github.com/osman-developer/sendingMails

答案 1 :(得分:1)

你可以使用类似的东西。

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

更新

转到此链接

enter link description here

并允许使用安全性较低的应用。

答案 2 :(得分:0)

如果您遇到同样的问题,请转到您的 Gmail 帐户 > 安全 > 允许不太安全的应用。这解决了我的问题