繁体   English   中英

smtp 服务不工作但没有错误.net6

[英]The smtp service is not working but there is no errors .net6

我正在尝试实现邮件服务以使用它发送重置密码 email,我尝试使用 Gmail 但它不起作用所以我切换到 outlook 但它仍然不起作用。 有人可以帮忙吗? 谢谢

private SmtpClient _client;
       public StringBuilder _body;

       public EmailService()
       {
           _body = new StringBuilder();
           _client = new SmtpClient();
       }
       public void Dispose()
       {
           _body.Clear();
           _client.Dispose();
       }
       public async Task<bool> SendEmailAsync(string fullname, string receiverEmail, string subject)
       {
           try
           {
               MailMessage mail = new MailMessage();
               mail.To.Add(receiverEmail);
               mail.From = new MailAddress("testmoenergy@outlook.com", "Aljawhara", Encoding.UTF8);
               mail.Subject = subject;
               mail.Body = _body.ToString();
               mail.IsBodyHtml = true;
               mail.Priority = MailPriority.High;
               _client.Host = "smtp.outlook.com";
               _client.Port = 587;
               _client.UseDefaultCredentials = false;
               _client.Credentials = new NetworkCredential("testmoenergy@outlook.com", "test******");
               _client.EnableSsl = true;
               await _client.SendMailAsync(mail);
               return true;
           }
           catch (Exception ex)
           {
               throw new Exception(ex.Message);
           }
       }
   }
}

Gmail oauth 不允许用户从 2022 年 5 月 1 日起发送邮件 您必须从您的 gmail 帐户创建一个身份验证密钥并将其用作密码。

string username = "yourmailID";
string password = "yourauthcode";
ICredentialsByHost credentials = new NetworkCredential(username, password);

SmtpClient smtpClient = new SmtpClient()
{
    Host = "smtp.gmail.com",
    Port = 587,
    EnableSsl = true,
    Credentials = credentials
};

MailMessage mail = new MailMessage();
mail.From = new MailAddress(username);
mail.To.Add(username);
mail.Subject = subject;
mail.Body = body;

smtpClient.Send(mail);

用于生成验证码

在 gmail go 到您的帐户设置--> 安全性--> 启用两步验证到 ON--> 应用程序密码--> 给您自定义应用程序名称并单击生成。

这将提供您的身份验证代码。

在此处输入图像描述

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM