在使用dotnetopenmail组件发送邮件时,本地测试完全没有问题,可以发生邮件,但是放到远程服务器上却怎么都没用,请教高手解答!在服务器上的错误提示是:“请求的名称有效,但是没有找到请求的类型的数据”
代码如下:
/// <summary>
        /// 发送邮件
        /// </summary>
        /// <param name="title">邮件主题</param>
        /// <param name="content">邮件内容</param>
        /// <param name="receMail">收件人</param>
        public static bool SendMail(string title, string content, string receMail)
        {
            EmailMessage email = new EmailMessage();
            email.FromAddress = new EmailAddress("[email protected]", "超级赢家客服中心");
            email.AddToAddress(new EmailAddress(receMail, "超级"));
            email.Subject = title;
            email.HtmlPart = new HtmlAttachment(content);
            email.HeaderCharSet = Encoding.GetEncoding("GB2312");
            email.HeaderEncoding = EncodingType.Base64;
            SmtpServer smtpServer = new SmtpServer("mail.sw-game.com");
            smtpServer.SmtpAuthToken = new SmtpAuthToken("[email protected]", "feng*123!");
            email.ContentType = "TEXT/HTML";
            try
            {
                email.Send(smtpServer);
                return true;
            }
            catch
            {
                return false;
            }
        }

解决方案 »

  1.   

    email.HeaderCharSet=System.Text.Encoding.UTF8;  
    数据类型不正确
      

  2.   


    我之前没加这句 报的这个错误,后来才加的这句。这个在我本地的xp系统中运行没有问题,可以发送邮件。但到服务器上就不行了,试过很多发送邮件的方式,在本地可以,在服务器就不行了。服务器是windows server 2003的系统。
      

  3.   

    我也用的windows2003,用"GB2312"没发现问题,不解~~~关注!
      

  4.   

    扫了下代码没发现问题.
    多包一层Try Catch把前面的设定EMAIL,SMTPServer的地方都包上,并在每个动作之后做好标记,查看一下是哪一步出问题了.
      

  5.   


    我不知道是不是我windows2003服务器安全配置有误,我关闭了很多不要的端口和服务,但是smtp协议需要的端口25和相关服务我没有关闭。盼指教~~
      

  6.   


    按你的方法试过 只是提示错误信息是“请求的名称有效,但是没有找到请求的类型的数据”,抛出异常的语句为:email.Send(smtpServer);