如题。
代码如下: MailMessage  mailObj  =  new MailMessage();
mailObj.From         = "注册成功!";
mailObj.To           = to_email;
mailObj.Subject      = "成功注册会员!"; string htmlcode ="这是邮件内容!!!"; mailObj.Body         = htmlcode;
//邮件的格式
mailObj.BodyFormat   =  MailFormat.Html;
//  设置为高级优先权
mailObj.Priority  =  MailPriority.High; mailObj.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1"); //基本验证
mailObj.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "username"); //设定用户名
mailObj.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "pwd"); //设定密码
SmtpMail.SmtpServer = "smtpserver";
SmtpMail.Send(mailObj);

解决方案 »

  1.   

    SmtpMail.SmtpServer = "smtpserver"; 把这个改的邮件服务器的地址。列如
    如果你的 username 是 [email protected]就改为 SmtpMail.SmtpServer = "smtp.163.com"; 
      

  2.   

    我就是这么改的啊。我只是在贴代码的时候用了“smtpserver”,实际操作中是用的我发邮件的邮箱。我想说的是,可能不是程序中有什么问题。因为本地测试是能成功发送的。因为我打开邮箱能收到。
    但是把程序传到服务器上就发送不出去了。不知道为什么?有人遇到这类似的情况吗?请指教。
      

  3.   

    我做了两个版本:一个是用System.Net.Mail命名空间做的;另一个是用System.Web.Mail命名空间做的。
    在本地测试时都能够发送,传到服务器上就都不能发送了。
    我本地装的是vs2005开发环境,服务器上装的framework 2.0运行环境。
      

  4.   

    急死人啊。希望高手指点,在线等
    我把System.Net.Mail命名空间的版本也贴出来吧:using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Net.Mail;public partial class MyEm_Email : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                MailAddress MessageFrom = new MailAddress("[email protected]");   //发件人邮箱地址
                string MessageTo = "[email protected]";   //收件人邮箱地址
                string MessageSubject = "邮件主题";         //邮件主题
                string MessageBody = "这里是邮件内容。";    //邮件内容
                if (Send(MessageFrom, MessageTo, MessageSubject, MessageBody))
                {
                    Response.Write("发送邮件成功");
                }
                else
                {
                    Response.Write("发送邮件失败");
                }        }
        }    public bool Send(MailAddress MessageFrom, string MessageTo, string MessageSubject, string MessageBody)
        {
            MailMessage message = new MailMessage();        message.From = MessageFrom;
            message.To.Add(MessageTo);              //收件人邮箱地址可以是多个以实现群发
            message.Subject = MessageSubject;
            message.Body = MessageBody;
            message.IsBodyHtml = true;              //是否为html格式
            message.Priority = MailPriority.High;   //发送邮件的优先等级        SmtpClient sc = new SmtpClient();
            sc.Host = "smtp.163.com";              //指定发送邮件的服务器地址或IP
            sc.Port = 25;                           //指定发送邮件端口
            sc.Credentials = new System.Net.NetworkCredential("[email protected]", "password"); //指定登录服务器的用户名和密码
            try
            {
                sc.Send(message);       //发送邮件
            }
            catch (Exception ex)
            {
                Response.Write(ex.Message.ToString());
                return false;
            }
            return true;
        }
    }
      

  5.   

    如果按照你说的在本地能够发送E-mail,而在服务器上不能发送。
    我考虑,原因应该出在防火墙上。
    服务器上关于Smtp或者POP3的端口没有开放。
      

  6.   

    我本地防火墙的smtp端口也没有开放啊。本地也根本就没有装什么smtp服务器,25端口也是关闭的。服务器的防火墙跟本地设置是一样的。我还特意在服务器上看了,也测试了把服务器的25端口打开,还是不行。我想问题应该是出在某个组件上,可能是vs开发环境中内置了而服务器上的framework没有内置这个mail组件。请有经验的高手指点我怎么解决~谢谢!
      

  7.   

    低价转让:中#美#爱#梯#科技.Net软件工程师培训课程内容(共35G),声音清晰,课程完整!
    需要这个培训视频的朋友请联系 QQ 936652114
      

  8.   

    如果你服务器上装了McAfee杀毒软件的话,默认是阻止发送邮件的.
      

  9.   

    终于找到原因了。就是被McAfee被阻挡了。谢谢笑笑!