好心人帮我调试调试啊!为什么发不出去啊!
using System.Net.Mail;
using System.Net;
          try
              {
                MailAddress from = new MailAddress("[email protected]");
                MailAddress to = new MailAddress("[email protected]");
                MailMessage message = new MailMessage(from, to);
                message.Subject = "主题";
                message.IsBodyHtml = true;
                message.Body = "正文";
                SmtpClient client = new SmtpClient("smtp.163.com", 25);
                client.Credentials = new System.Net.NetworkCredential("test", "password");//用户名,密码
                client.Send(message);//发送
                message.Dispose();
              }
              catch (Exception ep)
            {
                //ep.Message.ToString();
                MessageBox.Show("发送失败!");
            }

解决方案 »

  1.   

    对,换sina的,我以前也用163的,最近这段时间好像不行了,就换了sina的邮箱。
      

  2.   

                            MailMessage msg = new MailMessage();
                msg.To.Add("[email protected]");
                msg.From = new MailAddress("[email protected]", "password");            msg.Subject = "测试";
                msg.SubjectEncoding = System.Text.Encoding.UTF8;
                msg.Body = content;
                msg.BodyEncoding = System.Text.Encoding.UTF8;
                msg.IsBodyHtml = true;
                msg.Priority = MailPriority.High;            SmtpClient client = new SmtpClient();
                //client.EnableSsl = true;            client.Host = "smtp.sina.com.cn";
                //client.Port = 25;
                //client.UseDefaultCredentials = false;
                client.Credentials = new NetworkCredential("yourname", "password");
                //client.EnableSsl = true;
                try
                {
                    client.Send(msg);
                    return "success";
                }
                catch (System.Net.Mail.SmtpException ex)
                {
                    return ex.ToString();
                }我这个代码是没有问题的。楼主可以参考一下
      

  3.   

    代码没错,是STMP服务器的问题了.163现在已经禁止了这项功能(除了以前的老客户).换个新浪的邮箱肯定可以的.我现在都在用.
      

  4.   

    你是用自己sina的邮箱测试的吗??
      

  5.   

    用了,报错了。错误内容如下:
    ....SMTP服务器要求安全的链接或者客户端未通过身份认证!
      

  6.   

    参考一下我的这个:        //using System.Net.Mail;        System.Net.Mail.MailAddress EmailFrom = new System.Net.Mail.MailAddress("[email protected]", "Judge");
            System.Net.Mail.MailAddress EmailTo = new System.Net.Mail.MailAddress("[email protected]", "Spmzfz126");
            System.Net.Mail.MailMessage Email = new System.Net.Mail.MailMessage(EmailFrom, EmailTo);        Email.Bcc.Add(new System.Net.Mail.MailAddress("[email protected]")); //密件抄送收件人
            //Email.CC.Add(new System.Net.Mail.MailAddress("[email protected]"));       //    抄送收件人
            //Email.Attachments.Add(new System.Net.Mail.Attachment(@"F:\Other\MPC\STL.jpg"));        Email.Subject= "OK,Test By c#2008 ";
            Email.Body ="Hello ,This is Test By c#2008\n" + System.DateTime.Now.ToString();
            Email.SubjectEncoding= System.Text.Encoding.Default;
            Email.BodyEncoding=System.Text.Encoding.Default;
            Email.IsBodyHtml = true;
            Email.Priority = System.Net.Mail.MailPriority.Normal;        System.Net.Mail.SmtpClient SmtpPC = new System.Net.Mail.SmtpClient("smtp.126.com", 25);
            SmtpPC.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
            SmtpPC.Credentials = new System.Net.NetworkCredential("fanny110119", "PS");   //new ...
            //SmtpPC.UseDefaultCredentials = false;                                       //this line code writein is wrong !
          
            try
            {
                SmtpPC.Send(Email);
                MessageBox.Show("OK,Send Email Complete !");
            }
            catch (Exception E)
            {
                MessageBox.Show(E.Message);
            }
      

  7.   

    加与小面这行语句试试:
    client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
      

  8.   

    代码方面的问题不大.主要是现在的很多免费邮箱都不支持SMTP外发了.早些年申请的可以.
    可以将你的邮箱在ouktlook里面设置,看能否发送,能发送,再来看代码的问题.
      

  9.   

    分开写 不要端口SmtpClient client = new SmtpClient();client.Host = "smtp.qq.com"; 
      

  10.   


    public void SendSMTPEMail(string strSmtpServer, string strFrom, string strFromPass, string strto, string strSubject, string strBody)
            {
                System.Net.Mail.SmtpClient client = new SmtpClient(strSmtpServer);
                client.UseDefaultCredentials = false;
                client.Credentials = new System.Net.NetworkCredential(strFrom, strFromPass);
                client.DeliveryMethod = SmtpDeliveryMethod.Network;            System.Net.Mail.MailMessage message = new MailMessage(strFrom, strto, strSubject, strBody);
                message.BodyEncoding = System.Text.Encoding.UTF8;
                message.IsBodyHtml = true;
                client.Send(message);
            }第一个参数如果是163邮箱就写smtp.163.com 
    第二个参数发件人的帐号 
    第三个参数发件人密码 
    第四个参数收件人帐号 
    第五个参数主题 
    第六个参数内容.
    可以看看这个,我在winfrom中测试过没问题
      

  11.   

    你的代码我发到mail.nbip.net 试了下可以收到,当然我的邮箱也要是[email protected]
      

  12.   

    换hotmail吧,我也碰到过这个问题.换了hotmail就能发了,国内大多数邮箱不提供smtp.
      

  13.   

    代码如下:
    try
    {
         MailMessage mailMessage = new MailMessage(from,to,subject,body);
         SmtpClient mailClient = new SmtpClient("smtp.live.com",25);
         mailClient.Credentials= new NetworkCredential("yourname","mailpassword");
         mailClient.EnablSsl = true;
         mailClient.DeliveryMethod = SmtpDeliveryMethod.Network;
         mailClient.Send(mailMessage);
    }
    catch(SmtpException ex)
    {
         throw new SmtpException(ex.Message);
    }我就是用这个发放发送成功的.什么qq,163,sina,yahoo我都试过,都以失败告终.
      

  14.   

    不提供smtp,那提供什么啊?难道就没其他办法啊?
      

  15.   

    using System.Net.Mail; 我试了下包不进来这个怎么回事..
    我的using System.Net.后只有一个 socket;没有Mail..是什么原因啊?
      

  16.   

    这个没办法,你要用.net提供的smtp来实现发送邮件,就必须用提供smtp的邮箱,要么用hotmail,要么换别的方式发送邮件,网上肯定能找到别人写的插件,jmail也是个选择.
      

  17.   

    项目中添加引用System.Net就行了
      

  18.   

    这就不是你的代码问题了,网易的pop3早收费了http://wenwen.soso.com/z/q89958310.htm
    为什么我的网易163/126邮箱不支持POP服务?网易邮件系统维护公告亲爱的用户朋友:自2006年11月16日起,网易免费邮件系统的POP3及SMTP服务将暂停开通,此前已经开通POP3及SMTP服务的邮箱帐号则不受影响,仍然可以正常使用。对此如有任何疑问,可发送邮件至:[email protected],网易客户服务中心将在24小时内回复你。网易邮件中心2006年11月15日原来网易的邮箱不支持pop/smtp了.我发了一封邮件请求开通客户端设置.却至今没有回复.如果真的是邮件系统维护不可能是这么久的时间,于是自猜可是下面的原因造成网易暂停客户端设置:让新用户统统登录网易邮箱网页,让网易邮箱的广告的曝光率更高.更加有效果;之前就有yahoo邮箱不支持pop/smtp,hotmail.虽然支持,但设置方法比较难.加上msn就能弹出邮箱.很多用户放弃在outlook设置hotmail客户端收发信.但是这样会造成多少的用户流失?不知道网易这样挺而走险的方法划算吗?还是网易在免费邮箱上投入几千万的巨资压力下的实属无奈?不得而知,或许这也是商业运作的秘密.木叶 2008-08-24 08:07 检举你好,对于2006年11月16日以后注册的网易免费邮箱不支持POP服务,之前注册的就可以使用。如果你的邮箱开通了收费业务,比如随身邮,邮箱伴侣,则你的POP服务会被开启,当你的收费业务结束,你的POP服务则会终止。   扶瑤直丄 2008-08-24 08:08 检举
      

  19.   

    网易真行哦!幸好我的126邮箱注册的早,还支持smtp服务的。嘻嘻
      

  20.   

    我用outlook 就可以发出去,我用这些代码就发不出去,说我语法错误。谁知道我的语法错在哪了啊,求救啊!我用的是qq邮箱!
      

  21.   

    报错信息如下:
    显示是语法错误,无法识别命令。
    ----------------------------------------------------
    请问我的代码错误和在啊!我用outlook 就可以发出去,我用这些代码就发不出去,说我语法错误。谁知道我的语法错在哪了啊,求救啊!我用的是qq邮箱!