创建用户帐户时,尝试发送包含密码的电子邮件。 (在How to send email from Asp.net Mvc-3?
的帮助下public void SendEmail(string address, string subject, string message, string password)
{
string email = "emailAddress";
//string password = "put-your-GMAIL-password-here";
var loginInfo = new NetworkCredential(email, password);
var msg = new MailMessage();
var smtpClient = new SmtpClient("smtp.gmail.com", 587);
msg.From = new MailAddress(email);
msg.To.Add(new MailAddress(address));
msg.Subject = subject;
msg.Body = message;
msg.IsBodyHtml = true;
smtpClient.EnableSsl = true;
smtpClient.UseDefaultCredentials = false;
smtpClient.Credentials = loginInfo;
smtpClient.Send(msg);
}
但是smtpClient.Send(msg);返回以下错误:
{System.Net.Mail.SmtpException: 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
at System.Net.Mail.MailCommand.CheckResponse(SmtpStatusCode statusCode, String response)
at System.Net.Mail.MailCommand.Send(SmtpConnection conn, Byte[] command, MailAddress from, Boolean allowUnicode)
at System.Net.Mail.SmtpTransport.SendMail(MailAddress sender, MailAddressCollection recipients, String deliveryNotify, Boolean allowUnicode, SmtpFailedRecipientException& exception)
at System.Net.Mail.SmtpClient.Send(MailMessage message)
at ACCS.StockControl.Controllers.UserLoginRecordController.SendEmail(String address, String subject, String message, String password)
at ACCS.StockControl.Controllers.UserLoginRecordController.EditModalPOST(UserLoginRecordEditModalVM model)}
任何想法?
答案 0 :(得分:0)
可能只是密码和用户名错误。
请尝试使用其他假密码(例如“thisPasswordIsSurelyDontWork”)。 如果您的例外情况相同,那么您必须检查您的信用卡,用户名,密码
//或尝试
smtpClient.UseDefaultCredentials = true;
答案 1 :(得分:0)
MailMessage loginInfo = new MailMessage();
loginInfo.To.Add("Emailaddress");
loginInfo.From = new MailAddress("FromEmailaddress");
loginInfo.Subject = "Subject";
loginInfo.Body = "Body of the mail";
loginInfo.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient();
smtp.Host = hostname;
smtp.Port = 25; //in my case i am using 25
smtp.EnableSsl = false; //enable ssl is set to false
smtp.Credentials = new System.Net.NetworkCredential(sEmailId, sPassword);
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.Send(loginInfo);
{
Label.Visible = true;
Label.Text = "A mail has been sent to you with the your username. Please check your inbox.";
}
答案 2 :(得分:0)
尝试
smtpClient.EnableSsl = false;