如何使用 Mailkit 发送电子邮件

Posted

技术标签:

【中文标题】如何使用 Mailkit 发送电子邮件【英文标题】:How to send an email with Mailkit 【发布时间】:2022-01-02 15:17:27 【问题描述】:

我在 Asp.net Core 中使用 Mailkit 接收来自其他人的电子邮件,但 To 和 From 电子邮件是相同的,但在调试中 To 和 From 有正确的电子邮件?

这是我的代码有什么问题吗?/?

   MimeMessage emailMessage = new MimeMessage() ;
   emailMessage.From.Add(MailboxAddress.Parse(_userIdentity.Email));
   emailMessage.To.Add(MailboxAddress.Parse("my email"));
   emailMessage.Subject = "Support email";

   BodyBuilder emailBodyBuilder = new BodyBuilder();
   emailBodyBuilder.TextBody = message;
   emailMessage.Body = emailBodyBuilder.ToMessageBody();


   var smtp = new MailKit.Net.Smtp.SmtpClient();
   smtp.Connect("smtp.gmail.com" , 587, SecureSocketOptions.StartTls);
   smtp.Authenticate("my email", "*********");
   await smtp.SendAsync(emailMessage);
   smtp.Disconnect(true);

【问题讨论】:

这可能对csharp.hotexamples.com/examples/MimeKit/MimeMessage/-/…有帮助 【参考方案1】:

让我猜猜。您正在将发件人地址设置为与您的@gmail.com 地址不匹配的地址。

当您发送邮件时,发件人地址将替换为您的@gmail.com 地址。

这是因为 smtp.gmail.com 重写了 From 标头,以防止您欺骗他人的电子邮件地址。

【讨论】:

以上是关于如何使用 Mailkit 发送电子邮件的主要内容,如果未能解决你的问题,请参考以下文章

我可以使用 MailKit 通过电子邮件发送文件吗?

使用MailKit发送邮件

使用 Mailkit 或 mimekit 向多个收件人发送一封电子邮件

使用 Mailkit 发送电子邮件无法在 ubuntu 服务器上运行,出现 TimeoutException

MailKit发送邮件

愚公系列2023年02月 .NET CORE工具案例-使用MailKit使用SMTP协议进行邮件发送