ASP.NET发送邮件,本地测试通过,放到服务器上却出现" 由于目标机器积极拒绝,无法连接",请高手解答
我放在本机IIS运行没有问题,但是放到服务器上后就出现了"System.Net.Sockets.SocketException: 由于目标机器积极拒绝,无法连接。"
百思不得其解...
望高手帮忙指点下..感激不尽..
邮件发送的代码如下:
protected void sendMail(string receiveMail,string sendMail,string mailServer,string UserName,string PassWord,string Subject,string Content){ //发送邮件,直接发送带有用户名,密码的邮件,因为密码没有加密。 System.Net.Mail.SmtpClient client = new SmtpClient(mailServer); client.UseDefaultCredentials = false; //下面的用户名密码填写自己在163的用户名密码,也可以修改上面的SMTP服务器 client.Credentials = new System.Net.NetworkCredential(UserName, PassWord); client.DeliveryMethod = SmtpDeliveryMethod.Network; //创建MailMessage对象,参数分别为发件人地址,信件标题,信件正文 System.Net.Mail.MailMessage message = new MailMessage(sendMail, receiveMail,Subject,Content); message.BodyEncoding = System.Text.Encoding.UTF8; //编码 message.IsBodyHtml = true; //是否是HTML代码 client.Send(message); //发送 }
176466 (http://support.microsoft.com/kb/176466/) XGEN:TCP 端口和 Microsoft Exchange:深入讨论
? 另一个程序(如病毒扫描软件)已经将端口 25 重新分配到另一个端口。禁用所有不必要的服务(包括防病毒软件),然后重新启动服务器。
更多信息
当您在计算机上启用了防病毒电子邮件保护或个人防火墙软件时,也可能收到上述错误信息。
[解决办法]
1,EMAIL服务器问题
2,贴个我做的代码
private void SendEmail() { string strTo = this.GetAddress(); try { MailAddress EmFrom = new MailAddress( "发送邮件地址 ", "发送人 "); MailAddress EmTo = new MailAddress(strTo); MailMessage EMail = new MailMessage(EmFrom, EmTo); EMail.Subject = "你的标题 "; EMail.Priority = MailPriority.High; EMail.Body = "你的信笺内容 "; Attachment kk = new Attachment( "d:\\photo\\photo\\CapturePhoto.jpg "); Attachment ll = new Attachment( "d:\\photo\\photo\\CapturePhotoAll.jpg "); EMail.Attachments.Add(kk); EMail.Attachments.Add(ll); EMail.BodyEncoding = System.Text.Encoding.Default; EMail.IsBodyHtml = true; SmtpClient kkk = new SmtpClient(); kkk.Host = "你的邮件服务器地址或者域名 "; try { kkk.Send(EMail); MessageBox.Show( "邮件发送到 " + EMail.To.ToString() + " "); this.Close(); } catch (Exception ee) { MessageBox.Show(ee.Message + " <br > "); } } catch (Exception ex) { MessageBox.Show( "发送失败,原因: " + ex.Message + " "); } }
[解决办法]
UP
[解决办法]
就个人感觉来说,使用邮件发送功能
有已下问题
1:如果接受者的油箱不存在,如何进行判定是否收到!(你使用的油箱比如163会发一封出错邮件到发送油箱!)
2:一般来说出现错误的原因为:所使用邮件的邮件服务器的用户名和密码不匹配,或者说端口不正确!
3:写的时候经常犯的错误是:把收信方和接受方搞反了!
suyiming 的为winForm发送功能
给出asp.net发信代码如下:
public void Email()//发送邮件 { string UserEmail = Request.QueryString["Email"].ToString().Trim().Replace("\'", "\'\'"); System.Net.Mail.MailMessage myMail = new System.Net.Mail.MailMessage(); myMail = new System.Net.Mail.MailMessage("XXXXX@163.com", UserEmail);//这里使用的163油箱 myMail.Subject = "yoiio网络开发公司!";//邮件发送标题 myMail.Body = "您在我们公司注册了一个帐户!";//邮件发送内容 System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient("smtp.163.com", 25); client.Credentials = new System.Net.NetworkCredential("XXXXX", "密码");//这里的XXXXX是用户名 client.Send(myMail); }