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

时间:2015-08-13 03:02:32

标签: c# asp.net asp.net-mvc email smtp

美好的一天,我是使用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.";
            }
        }

4 个答案:

答案 0 :(得分:2)

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

MailMessage mm = new MailMessage(); mm.From = new MailAddress("fromEmail"); mm.To.Add("toEmail"); mm.CC.Add("ccEmail"); mm.Subject = "StringSubject"; 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 = "UsernameString"; NetworkCred.Password = "PasswordString"; smtp.UseDefaultCredentials = true; smtp.Credentials = NetworkCred; smtp.Port = 587; try { smtp.Send(mm); } catch (Exception) { }

答案 1 :(得分:1)

试试这个参考direct-initialization它可以帮助我解决smtp问题

答案 2 :(得分:1)

答案 3 :(得分:1)

转到Gmail帐户,然后选择 连接的应用程序&网站 允许不太安全的应用程序:开启(如果关闭此功能,则无法通过应用程序或您的网站发送邮件)