MailMessage mm = new MailMessage("[email protected]", "[email protected]", "abc", "hello!");
        SmtpClient sc = new SmtpClient("192.168.*.***", 25);
        byte[] names = System.Text.Encoding.Default.GetBytes("sunnygao");
        string name = Convert.ToBase64String(names);
        byte[] pwds = System.Text.Encoding.Default.GetBytes("*****");
        string pwd = Convert.ToBase64String(pwds);
        sc.Credentials = new System.Net.NetworkCredential(name,pwd);
        sc.Send(mm);
最简单的发送邮件。老是报由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。 
请问这个是什么问题?那位老大可以告诉一下。。谢谢了!!

解决方案 »

  1.   

    2005 对 邮件类进行了重新封装,在 System.Net.Mail 里
      

  2.   

    开了防火墙。。我使用.net.mail做的报的错误我查了一下。。是System.Net.Sockets 。。这个是什么意思???不能登陆他的机器是这个意思吗?
      

  3.   

    改了一下服务器:语法错误,无法识别命令。 服务器响应为: authentication failed(password) 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Net.Mail.SmtpException: 语法错误,无法识别命令。 服务器响应为: authentication failed(password)
    变成这样的错误了!!!
      

  4.   

    给你两个:
    用System.Web.Mail发信:
        http://blog.xinyuee.com/u/1/s/2/a/22.aspx
    用System.Net.Mail发信:
        http://blog.xinyuee.com/u/1/s/2/a/31.aspx均已通过测试。
      

  5.   

    string mailto = "[email protected]";
            string mailfrom = "[email protected]";
            byte[] names = System.Text.Encoding.Default.GetBytes("sunnxxy1982");
            string name = Convert.ToBase64String(names);
            byte[] pwds = System.Text.Encoding.Default.GetBytes("******");
            string pwd = Convert.ToBase64String(pwds);
            System.Net.NetworkCredential credential = new System.Net.NetworkCredential(name, pwd);
            SmtpClient smtp = new SmtpClient("smtp.sina.com");
            smtp.Credentials = credential;        MailMessage message = new MailMessage(mailfrom, mailto);
            message.SubjectEncoding = System.Text.Encoding.UTF8;
            message.BodyEncoding = System.Text.Encoding.UTF8;
            message.Subject = "subject here";
            message.Body = "body here";
            smtp.EnableSsl = true;
            smtp.Send(message);
            message.Dispose();我看了。。还是报错:服务器不支持安全连接!!!!!!!谁来99我啊。。我搞了2天了。55555
      

  6.   

    你换个邮件服务器试试啊,不要用sina。比如换个163的,我用163试过N次都没错。
      

  7.   

    /// <summary>
            /// 发送邮件
            /// </summary>
            /// <param name="strSmtpServer">smtp地址</param>
            /// <param name="UserName">用户名</param>
            /// <param name="Password">密码</param>
            /// <param name="strFrom">发信人地址</param>
            /// <param name="strto">收信人地址</param>
            /// <param name="strSubject">邮件标题</param>
            /// <param name="strBody">邮件正文</param>
            public static void SendMail(string strSmtpServer, string UserName, string Password, string strFrom, string strto, string strSubject, string strBody, string strFileName)
            {
                //生成一个 使用SMTP发送邮件的客户端对象
                System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient(strSmtpServer);            //表示以当前登录用户的默认凭据进行身份验证
                client.UseDefaultCredentials = true;                 //包含用户名和密码
                client.Credentials = new System.Net.NetworkCredential(UserName, Password);             //指定如何发送电子邮件。
                 //Network                      电子邮件通过网络发送到 SMTP 服务器。  
                 //PickupDirectoryFromIis       将电子邮件复制到挑选目录,然后通过本地 Internet 信息服务 (IIS) 传送。  
                 //SpecifiedPickupDirectory     将电子邮件复制到 SmtpClient.PickupDirectoryLocation 属性指定的目录,然后由外部应用程序传送。              client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;            //建立邮件对象 
                System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage(strFrom, strto, strSubject,strBody);
                
                //定义邮件正文,主题的编码方式
                message.BodyEncoding = System.Text.Encoding.GetEncoding("gb2312");
                message.SubjectEncoding = System.Text.Encoding.GetEncoding("gb2312");
               
                //获取或设置一个值,该值指示电子邮件正文是否为 HTML。 
                message.IsBodyHtml = false;
                
                //指定邮件优先级
         
                message.Priority = System.Net.Mail.MailPriority.Normal;            //添加附件
                //System.Web.Mail.MailAttachment mailAttachment=new System.Web.Mail.MailAttachment(@"f:/baihe.txt"); 
                if (strFileName != "" && strFileName != null)
                {
                    Attachment data = new Attachment(strFileName);
                    message.Attachments.Add(data);
                }
              
                
                //发件人身份验证,否则163 发不了
                client.Credentials =  new System.Net.NetworkCredential(strFrom, Password);            //发送
                client.Send(message);
            }
        }
    试试,我用的
      

  8.   

    还是不行啊。。我调用的你程序。        SendMail("smtp.163.com", "sunnxxy", "*****", "[email protected]", "[email protected]", "hello", "Success!", "");
    报错:邮箱不可用。 服务器响应为: &Oacute;&Atilde;&raquo;§±&raquo;&Euml;&oslash;&para;¨ 
    是不是iis要有什么设置啊??谁能告诉我啊??555555555555555第三天了
      

  9.   

    5555555555555。终于找到错误乐        client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.PickupDirectoryFromIis;
    原来是这句话的问题。。谢谢大家了