public void SendSMTPEMail(string strSmtpServer, string strFrom, string strFromPass, string strto, string strSubject, string strBody)
    {
        SmtpClient client = new SmtpClient(strSmtpServer);
        client.UseDefaultCredentials = false;
        client.Credentials = new System.Net.NetworkCredential(strFrom, strFromPass);
        client.DeliveryMethod = SmtpDeliveryMethod.Network;
        System.Net.Mail.MailMessage message = new MailMessage(strFrom, strto, strSubject, strBody);
        message.BodyEncoding = System.Text.Encoding.UTF8;
        message.IsBodyHtml = true;
        client.Send(message);
    }发送邮件的方法
在本地测试ok,传到服务器上.测试失败,没有接收到邮件然后又 传到另外一台服务器上测试,ok没问题   可以发邮件难道是服务器什么东西被关了吗?或者屏蔽了

解决方案 »

  1.   

        /// <summary>
        /// 发送邮件
        /// </summary>
        /// <param name="EmailAddress">收件人地址</param>
        /// <param name="Title">标题</param>
        /// <param name="EmailBody">内容</param>
        /// <param name="id">邮箱标题显示</param>
        public static string SendMail(string EmailAddress, string Title, string EmailBody, string id)
        {
            try
            {
                SmtpClient smtp = new SmtpClient("smtp.ym.163.com");
                smtp.Credentials = new NetworkCredential("您的邮箱","邮箱的密码");
                MailMessage mail = new MailMessage();
                mail.To.Add(EmailAddress);                                  //添加收件人
                mail.From = new MailAddress("您的邮箱", id);                       //添加发件人
                mail.Subject = Title;                                       //标题
                mail.Body = EmailBody;                                      //内容
               
                mail.IsBodyHtml = true;                                     //内容是否为HTML            try
                {
                    smtp.Send(mail);
                }
                catch (SmtpException e)
                {
                    return e.StatusCode.ToString();
                }
                catch (Exception e)
                {
                    return e.ToString();
                }//发送
            }
            catch
            {
                return "nn";
            }
            return "ss";
        }
      

  2.   

    .net本身并不支持发送邮件,它需要通过windows的smtp服务来发送。
      

  3.   

    在“服务器”上,把你的地址直接用telnet连,然后打入smtp的指令,可以调试smtp连接过程。随便google一下:http://blog.sina.com.cn/s/blog_4ee5c07b0100bjv9.html
      

  4.   

    刚才通过command链接到smtp.qq.com 25 
    提示connection to smtp.qq.com  could not open connection to the host,on port 25 connect failed(链接不上...)
      

  5.   

    解决了!原来是被McAfee阻止了!