在本地测试没问题,放到服务器上面程序也跑完了,并且提示说发送成功。可是去发送邮箱看,没有发送的邮件,更收不到邮件了。smtp默认端口是25,也不报错,也发送不了邮件
public void sendMail(object eg) { EmailAndGudi newEg = (EmailAndGudi)eg; SmtpClient smtp = new SmtpClient("smtp.163.com"); smtp.Credentials = new NetworkCredential("aa@163.com", "mima"); MailMessage mail = new MailMessage(); mail.From = new MailAddress("aa@163.com"); mail.To.Add("aaa@qq.com"); // 收件人 mail.Subject = "密码取回"; string strUrl = string.Format("<a href=\"{0}/Step/updatepwd.aspx?forgetPwd={1}\" target=\"_blank\">更改密碼</a>", newEg.url, newEg.strGuid); string bb = "<br/><br/><br/>" ; mail.Body = "請及時查收並更改密碼,該鏈接只能使用一次" + bb; mail.BodyEncoding = Encoding.UTF8; mail.IsBodyHtml = true; mail.Priority = MailPriority.Normal; try { smtp.Send(mail); } catch (System.Net.Mail.SmtpException ex) { Console.WriteLine(ex.Message); } }
忘记去邮箱中打开SMTP服务了
到垃圾箱里去看看,很容易被当成垃圾邮件处理
大型邮箱服务器对这种通过代码发送的邮件都有过滤的。。。。