用的system.net.mail
代码如下:
- C# code
static string strHost = String.Empty; static string strAccount = String.Empty; static string strPwd = String.Empty; static string strFrom = String.Empty; /// <summary> /// 发送邮件 /// </summary> /// <param name="to">接收方邮件地址</param> /// <param name="title">邮件标题</param> /// <param name="content">邮件正文内容</param> public static bool sendmail(string to, string title, string content) { strHost = "stmp.XXX.com"; //STMP服务器地址 //此处实际运用中用的是我们公司的邮件服务器(支持stmp) strAccount = "X@XXX.com"; //SMTP服务帐号 strPwd = "123456"; //SMTP服务密码 strFrom = "X@XXX.com"; //发送方邮件地址 SmtpClient _smtpClient = new SmtpClient(); _smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电子邮件发送方式 _smtpClient.Host = strHost; ;//指定SMTP服务器 _smtpClient.Credentials = new System.Net.NetworkCredential(strAccount, strPwd);//用户名和密码 System.Net.Mail.MailMessage _mailMessage = new System.Net.Mail.MailMessage(strFrom, to); _mailMessage.Subject = title;//主题 _mailMessage.Body = content;//内容 _mailMessage.BodyEncoding = System.Text.Encoding.UTF8;//正文编码 _mailMessage.IsBodyHtml = true;//设置为HTML格式 _mailMessage.Priority = MailPriority.High;//优先级 try { _smtpClient.Send(_mailMessage); return true; } catch (Exception ex) { return false; } }//提交 protected void btnadd_Click(object sender, ImageClickEventArgs e) { string title = Request.Form["title"].ToString().Trim(); string text = Request.Form["text"].ToString(); if (sendmail("我的邮箱@qq.com", title, text) == true) { base.Response.Write("<script>alert('您的意见已成功反馈,感谢您的支持!');location.href('" +Request.Url + "');</script>"); } else { base.Response.Write("<script>alert('系统繁忙,请稍后再试!');location.href('" + Request.Url + "');</script>"); } }
本地VS调试都通过,邮件也能成功发送,放在局域网一台server2003机器上客户端访问也能成功发送邮件,
但是放到我们的WEB服务器上就不能发送成功了 ,服务器安装的FrameWork3.5 ,网站访问一切正常,就是邮件不能发。
哪位知道怎么回事,该怎么解决啊?
------解决方案--------------------------------------------------------
服务器需要配置 STMP
------解决方案--------------------------------------------------------
服务器看有没有装macfee 这个杀毒软件会屏蔽邮件发送 解决方法GOOGLE
如果不是 就不知道什么问题了
------解决方案--------------------------------------------------------
_smtpClient.Host = strHost; ;//指定SMTP服务器
web服务器能访问smtp服务器吗?
------解决方案--------------------------------------------------------
把防火墙关了测试下,如果是,增加对应的端口。
------解决方案--------------------------------------------------------
端口问题,你把防火墙先关掉再试看,应该就可以了
------解决方案--------------------------------------------------------
关注,我也有这样的问题.
------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------
http://topic.csdn.net/u/20081105/14/284971d2-a321-4873-95c4-3a6453f2582b
------解决方案--------------------------------------------------------
我现在用的这个发送,LZ可以参考一下
- C# code
public bool SendSMTPEMail(string strSmtpServer, string strFrom, string strFromPass, string strto, string strSubject, string strBody) { System.Net.Mail.SmtpClient client = new SmtpClient(strSmtpServer); client.Credentials = new System.Net.NetworkCredential(strFrom, strFromPass); client.DeliveryMethod = SmtpDeliveryMethod.Network; System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage(strFrom, strto, strSubject, strBody); message.BodyEncoding = System.Text.Encoding.Default; message.IsBodyHtml = true; try { client.Send(message); return true; } catch(Exception ex) { ErrorMsg = ex.ToString(); return false; } }