using System.Net.Mail;
        /// <summary>
        /// 发送邮件
        /// </summary>
        /// <param name="emailSub">邮件主题</param>
        /// <param name="emailBody">邮件内容</param>
        /// <param name="toMail">收件者</param>
        /// <returns>返回发送的结果</returns>
        public static string SendMail(string emailSub, string emailBody, string toMail)
        {
            string msg = string.Empty;            MailMessage mail = new MailMessage();            mail.From = new MailAddress("[email protected]");
 
            mail.To.Add(new MailAddress(toMail));            mail.Sender = new MailAddress("[email protected]");            mail.Subject = emailSub;            mail.Body = emailBody;
 
            mail.IsBodyHtml = true;
  
            mail.Priority = MailPriority.Normal;
            SmtpClient sc = new SmtpClient("pop3.c.com");            sc.Credentials = new NetworkCredential("[email protected]", "xxx");
 
            sc.DeliveryMethod = SmtpDeliveryMethod.Network;
            try
            {
                sc.Send(mail);
                msg = "发送成功!";
            }
            catch (SmtpException e)
            {
                msg = e.StatusCode + "_" + e.Message;
            }
            return msg;
        }在localhost本机调试时,可以发送邮件,部署到2003服务器上,通过域名访问操作时,获取的情况是发送邮件失败,StatusCode是GeneralFailuremsdn上GeneralFailure的解释是
事务未能发生。当未能找到指定的 SMTP 主机时,会收到此错误。应该如何设置才行呢?

解决方案 »

  1.   

    mail.From = new MailAddress("[email protected]");
    改为
    mail.From = new MailAddress("[email protected]");写错了。
      

  2.   

    先说你服务器 的邮件服务器(POP3,SMTP) 有没有配置啊。
    管理工具->管理您的服务器->添加或删除角色->下一步 然后你看看有没有正确配置
      

  3.   


    邮件服务器 不在此服务器上,不需要设置的,此服务器是应用服务器。//发送邮件的方式是网络,只要有网络就可以了。
    sc.DeliveryMethod = SmtpDeliveryMethod.Network;
      

  4.   

    发邮件pop3默认的是110,
    收邮件smtp默认的是25
      

  5.   

    可以在服务器上用telnet邮件服务器,试一下110端口是不是正常。
      

  6.   


    收邮件pop3默认的是110,
    发邮件smtp默认的是25你写反了。
      

  7.   

    有可能你的邮箱SMTP解析被别人屏蔽了,我也曾经有这样的情况。主机在美国,邮局在中国,发送不了,美国主机商帮我PING,发现到广东电信被屏蔽了。后来在境外搞了个邮箱就可以发送了
      

  8.   


    谢谢。但是为什么我配置在outlook里就可以发送,这和你说的有关系吗?我在本地也是可以发送的啊!就是把网站项目部署到自己的服务器上就不可以了,不知道是为什么!
      

  9.   

    服务器 好像 通过网络发送邮件 也需要 服务器安装 SMTP 服务吧!
      

  10.   


    已经安装了SMTP Service了。还是不行!
      

  11.   

    服务器不是所有发邮件模式都支持的。建议下个ASP探针,放到服务器,打开页面,就会测试出支持哪种发邮件的方法了。