做了一个发送邮件的界面,测试时出现“发送邮件失败”,而且需要非常长的事件才会提示错误,这是什么原因了,下面是代码,各路高手帮忙看看!!! MailMessage message = new MailMessage();
        message.From =  new MailAddress("[email protected]", "任浮生", Encoding.GetEncoding(936));
        //收件人邮箱地址可以是多个以实现群发
        message.To.Add(MessageTo);
        message.Subject = MessageSubject;
        message.Body = MessageBody;
        //是否为html格式
        message.IsBodyHtml = false;
        //发送邮件的优先等级 
        message.Priority = MailPriority.High;        SmtpClient sc = new SmtpClient();
        //指定发送邮件的服务器地址或IP,根据不同的邮件服务商,写不同的服务器名
        //smtp.Sina.com
        sc.DeliveryMethod = SmtpDeliveryMethod.Network;
        sc.Host = "smtp.qq.com";
        //指定发送邮件端口 
        sc.Port = 425;                         
        sc.UseDefaultCredentials = true;
        sc.EnableSsl = true;        //指定登录服务器的用户名和密码 
        sc.Credentials = new System.Net.NetworkCredential("username", "passWord");
        try
        {
            //发送邮件 
            sc.Send(message);
        }
        catch (Exception e)
        {
            Response.Write(e.Message);
            return false;
        }
        return true;

解决方案 »

  1.   

    using System.Web.Mail;
     
     
     
     /// <summary>
            /// 发送邮件的方法
            /// </summary>
            /// <param name="toEmail">邮件接收地址</param>
            /// <param name="fromEmail">邮件发送地址</param>
            /// <param name="subject">邮件主题</param>
            /// <param name="body">邮件内容</param>
            /// <param name="userName">发送邮件用户名</param>
            /// <param name="password">发送邮件密码</param>
            /// <param name="smtpHost">smtp服务器</param>
            public void SendEmail(string toEmail, string fromEmail, string subject, string body, string userName, string password, string smtpHost)
            {
                //设置邮件发送对象
                MailMessage mailObj = new MailMessage();
                // 设置邮件的发送地址
                mailObj.From = fromEmail;
                //设置邮件的接收地址
                mailObj.To = toEmail;
                //设置邮件发送的主题
                mailObj.Subject = subject;
                //设置邮件发送的内容
                mailObj.Body = body;
                // html格式的邮件
                mailObj.BodyFormat = MailFormat.Html;
                // 设置为高级优先权
                mailObj.Priority = System.Web.Mail.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", password); //密码  
                //使用SmtpMail对象发送邮件
                SmtpMail.SmtpServer = smtpHost;
                SmtpMail.Send(mailObj);
            }
      

  2.   

    问题解决了,是我作为发件方的邮箱没有打开SMTP服务