protected void Button1_Click(object sender, EventArgs e)
{
SmtpClient mail = new SmtpClient();
mail.UseDefaultCredentials = false;
mail.Host="smtp.gmail.com";
mail.Port=465;
mail.Credentials=new NetworkCredential("b.soham1991","*******");
mail.DeliveryMethod = SmtpDeliveryMethod.Network;
mail.EnableSsl = true;
mail.Timeout = 1000000;
mail.Send("b.soham1991@gmail.com", "soham.elf@gmail.com", "Hi", "via gmail");
Response.Write("success!");
}
永远不会执行 Reponse.Write
,最终连接超时。我错过了什么?
答案 0 :(得分:1)
我认为您使用的是错误的端口。
protected void Button1_Click(object sender, EventArgs e)
{
SmtpClient mail = new SmtpClient();
mail.UseDefaultCredentials = false;
mail.Host="smtp.gmail.com";
mail.Port=587; //new port!
mail.UseDefaultCredentials = false,
mail.Credentials=new NetworkCredential("b.soham1991","*******");
mail.DeliveryMethod = SmtpDeliveryMethod.Network;
mail.EnableSsl = true;
mail.Timeout = 1000000;
mail.Send("b.soham1991@gmail.com", "soham.elf@gmail.com", "Hi", "via gmail");
Response.Write("success!");
}
此外,请务必使用System.Net.Mail
而不是System.Web.Mail
请参阅答案here以获得详细而精确的答案。
答案 1 :(得分:0)
你应该尝试为instace分配标签。
在表单中添加标签。
你可以简单。
labelstatus.text = "success!";
您是否可以向此添加Exception
处理程序,以便在mail
对象永远不会完成的情况下确切地看出它出错的地方?