问题描述
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();
它说我的凭据不正确,即使它们是正确的。我正在使用 MailKit
和 MimeMessage
。
我在这里做错了什么?
解决方法
尝试使用端口 587 而不是 465。 这是我的 github 存储库的链接,这是一个发送邮件的简单项目。 https://github.com/osman-developer/sendingMails
,你可以使用类似的东西。
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);
}
更新
转到此链接
并允许使用安全性较低的应用。
,如果您遇到同样的问题,请转到您的 Gmail 帐户 > 安全 > 允许不太安全的应用。这解决了我的问题