Skip to main content
 首页 » 编程设计

c#之带有 ASP.net 错误 5.5.1 需要身份验证的 SMTP 邮件

2024年01月31日28pengyingh

美好的一天,我是使用 ASP.net 和 SMTP Mailer 的初学者

这是我的问题,当我从本地发送电子邮件时,我总是遇到这个错误 并在网上搜索并尝试了解决方案,但并不那么幸运, 我希望有人指出我需要什么代码以及我在哪里遇到这个错误

Message = "The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.5.1 Authentication Required. Learn more at" 

这是我的代码:

protected void btnSendEmail_Click(object sender, EventArgs e) 
        { 
            // System.Web.Mail.SmtpMail.SmtpServer is obsolete in 2.0 
            // System.Net.Mail.SmtpClient is the alternate class for this in 2.0 
            SmtpClient smtpClient = new SmtpClient(); 
            MailMessage message = new MailMessage(); 
 
            try 
            { 
                MailAddress fromAddress = new MailAddress(txtEmail.Value, txtName.Value); 
                smtpClient.Credentials = new System.Net.NetworkCredential("myUser@gmail", "password"); 
                // You can specify the host name or ipaddress of your server 
                // Default in IIS will be localhost  
                smtpClient.Host = "smtp.gmail.com"; 
                smtpClient.EnableSsl = true; 
                //Default port will be 25 
                smtpClient.Port = 25; 
                smtpClient.UseDefaultCredentials = false; 
                //From address will be given as a MailAddress Object 
                message.From = fromAddress; 
 
                // To address collection of MailAddress 
                message.To.Add("myEmail@gmail.com"); 
                message.Subject = txtSubject.Value; 
 
                // CC and BCC optional 
                // MailAddressCollection class is used to send the email to various users 
                // You can specify Address as new MailAddress("admin1@yoursite.com") 
                message.CC.Add("myEmail@gmail.com"); 
 
                // You can specify Address directly as string 
                message.Bcc.Add(new MailAddress("myEmail@gmail.com")); 
 
                //Body can be Html or text format 
                //Specify true if it  is html message 
                message.IsBodyHtml = false; 
 
                // Message body content 
                message.Body = txtaMessage.Value; 
                message.BodyEncoding = System.Text.Encoding.UTF8; 
                message.HeadersEncoding = System.Text.Encoding.UTF8; 
                // Send SMTP mail 
                smtpClient.Send(message); 
 
                lblSuccess.Text = "Email successfully sent."; 
            } 
            catch (Exception ex) 
            { 
                lblSuccess.Text = "Send Email Failed."; 
            } 
        } 

请您参考如下方法:

我试图制作一个发送电子邮件的简单代码试试这个

MailMessage mm = new MailMessage(); mm.From = new MailAddress("fromEmail"); mm.To.Add("toEmail"); mm.CC.Add("ccEmail"); mm.Subject = "字符串主题"; mm.Body = "BodySubject"; mm.IsBodyHtml = true; SmtpClient smtp = new SmtpClient(); smtp.Host = "smtp.gmail.com"; smtp.EnableSsl = true; System.Net.NetworkCredential NetworkCred = new System.Net.NetworkCredential(); NetworkCred.UserName = "用户名字符串"; NetworkCred.Password = "密码字符串"; smtp.UseDefaultCredentials = true; smtp.Credentials = NetworkCred; smtp.Port = 587; 尝试 { smtp.发送(mm); } catch (异常) { }