我使用c#发送电子邮件:
protected void SendEmailToVisitor(string Name, string Email, string Contact, string Message, string Subject)
{
string myEmail = ConfigurationManager.AppSettings["Email"];
MailMessage objMail = new MailMessage();
objMail.From = new MailAddress(myEmail);
objMail.Subject = "Chanderraj.com";
objMail.To.Add(Email);
objMail.IsBodyHtml = true;
StringBuilder emailMessage = new StringBuilder();
emailMessage.Append("<h2>Hi, "+Name+",</h2> <br/>");
emailMessage.Append("Thank you for writing us. <br/><br/><br/>");
emailMessage.Append("Best wishes from http://www.chanderraj.com");
objMail.Body = emailMessage.ToString();
SmtpClient objSmtpClient = new SmtpClient();
objSmtpClient.UseDefaultCredentials = false;
// objSmtpClient.EnableSsl = true;
objSmtpClient.Send(objMail);
this.Reset();
lblSent.Text = Name + ", your message sent.";
}
<system.net>
<mailSettings >
<smtp>
<network host="smtp.gmail.com" userName="chanderraj1989@gmail.com" enableSsl="true" password="xxxxxxxxxx" port="587" />
</smtp>
</mailSettings>
如果我在配置中添加enableSsl,它会在页面加载前显示配置错误:
无法识别的属性'enableSsl'。
可能是因为服务器上的旧版.NET。
所以,我从配置中删除了enablSsl并将其放入代码中,然后显示:
SMTP服务器需要安全连接,或者客户端未经过身份验证。服务器响应为:5.5.1需要身份验证。
答案 0 :(得分:0)
是的,对于.NET 3及更早版本,您无法在配置文件中使用enableSSL属性。 对于您的问题,您可以添加行,
SmtpClient objSmtpClient = new SmtpClient();
objSmtpClient.EnableSsl = true; // Add this line of code. Hope this works
还要在配置文件中添加此行
<smtp deliveryMethod="Network" from="test@gmail.com">
对于.NET 4:是的,您可以在config部分中添加enableSSL标记。
答案 1 :(得分:0)
不是绝对的解决方案,但它有效。
因为我有一个域chanderraj.com和一个域可以选择创建电子邮件,如info@chanderraj.com。所以我创建了一个并在我的配置文件中指定代替Gmail ID和密码(显示在问题中)。