SMTP 服务器需要安全连接,或者客户端未经过身份验证。服务器响应是:5.7.0 .NET Core 中需要身份验证

问题描述 投票:0回答:2

我收到此错误

SMTP 服务器需要安全连接,或者客户端未经过身份验证。服务器响应是:5.7.0 需要身份验证。

当用户尝试从网站发送忘记密码的电子邮件时。帮帮我,我该如何解决?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Mail;
using System.Web;

namespace ERP.Senders
{
    public class SendEmail
    {
        public static void Send(string to,string subject,string body)
        {
            MailMessage mail = new MailMessage();

            SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");

            mail.From = new MailAddress("[email protected]","سامانه مدیریت منابع انسانی ERP");
            mail.To.Add(to);
            mail.Subject = subject;
            mail.Body = body;
            mail.IsBodyHtml = true;

            //System.Net.Mail.Attachment attachment;
            // attachment = new System.Net.Mail.Attachment("c:/textfile.txt");
            // mail.Attachments.Add(attachment);
            SmtpServer.Port = 587;
            SmtpServer.Credentials = new System.Net.NetworkCredential("[email protected]", "*******");
            SmtpServer.EnableSsl = true;

            SmtpServer.Send(mail);
        }
    }
}
c# asp.net-core-mvc smtp
2个回答
0
投票

我相信您将需要创建一个应用程序密码,因为使用标准电子邮件地址和密码以及不太安全的应用程序访问方式发送电子邮件已被弃用。我相信您需要创建一个应用程序密码并使用它,再加上两步验证


0
投票

我用 C# 创建了一个应用程序,我遇到了同样的问题,我通过从我的 Google 帐户创建应用程序密码来解决它,我使用: smtp.Credentials = new NetworkCredential(From, Pass); Pass 存储我创建的应用程序密码的位置

© www.soinside.com 2019 - 2024. All rights reserved.