代码中使用了,验证方式
client.Credentials = new System.Net.NetworkCredential(strFrom, strFromPass);但是报错:
邮件发送失败:Mailbox name not allowed. The server response was: Requested action not taken: Local user only,smtp2,DNGowKALpAEYGxhNauo7Ag--.136S2 1293425432网上说是因为国内的smtp服务器为了防止垃圾邮件 实行了首先登录验证措施谁知道怎么解决这个问题? 最好给出一段代码 哈

解决方案 »

  1.   

    你是不是用的jmail啊,还是用的socket?
      

  2.   


    我用的是System.Net.Mail 使用SmtpClient 发送的
      

  3.   

    你现在调用qq的smtp 服务 使用SmtpClient 可以发送吗
      

  4.   

    试了下
    QQ发邮件不行,这是服务器返回的提示:mail from address must be same as authorization user用163可以发出去
      

  5.   

    搞定!
    不小心发现QQ给我发了个邮件,内容是我试图设置SMTP服务器,如果确实要开启SMTP和POP3服务,就点一个连接去开启,我开启后,就可以发邮件出去了
    呵呵,还不算麻烦
      

  6.   


    哦?那就奇怪了 ,我也在qq邮箱的设置页面开启了smtp服务,为啥我的不行那?
    难道和qq级别还有关系?
      

  7.   

    计算机名称要改为英文的。不能是中文的。(smtp的一个bug)
    qq邮箱挺大容量。平常拿到存资料。
    我是把写的程序放到[发送到]。
    这样保存一些文件挺不错的。
      

  8.   

    我刚做了一个QQ邮件发送的给你代码看看MailAddress EmailFrom = new MailAddress("发送邮箱地址");
            MailAddress EmailTo = new MailAddress("接受邮箱地址");
            MailMessage mailMsg = new MailMessage(EmailFrom, EmailTo);
            mailMsg.Subject = "测试邮件";
            mailMsg.Body = "此为测试邮件,可以忽略掉";
            mailMsg.Priority = MailPriority.High;        SmtpClient spClient = new SmtpClient("smtp.qq.com");
            spClient.Credentials = new System.Net.NetworkCredential("发送邮箱地址","发送邮箱密码");
            spClient.Send(mailMsg);
      

  9.   

    try
                {
                    SmtpClient client = new SmtpClient("smtp.qq.com");
                    client.UseDefaultCredentials = false;
                    client.Credentials = new System.Net.NetworkCredential("邮件地址", "密码");
                    client.DeliveryMethod = SmtpDeliveryMethod.Network;
                    MailAddress from = new MailAddress("发件人");
                    MailAddress to = new MailAddress("收件人");
                    MailMessage mail = new MailMessage(from,to);
                    mail.Subject = "Title";
                    mail.BodyEncoding = System.Text.Encoding.Default;
                    mail.Body = "oh,shit";
                    mail.IsBodyHtml = true;
                    client.Send(mail);
                    Response.Write("<script>alert('发送成功');</script>");
                }
                catch (Exception ex)
                {
                    Response.Write("<script>alert('" + ex.Message + "');</script>");
                }
      

  10.   

    用QQ邮箱发邮件和QQ等级没关系要手动的在邮箱里开启POP3/SMTP服务
      

  11.   

    #region 发送邮件函数体            SmtpClient client = new SmtpClient(strSmtpServer);
                client.Host = strSmtpServer;
                client.UseDefaultCredentials = true;
               
                client.Credentials = new System.Net.NetworkCredential(strFrom, strFromPass);
                client.DeliveryMethod = SmtpDeliveryMethod.Network;
                Byte[] b = Encoding.Default.GetBytes(strEmailBody);
                strEmailBody = Encoding.GetEncoding("gb2312").GetString(b).ToString();            StringBuilder sBody = new StringBuilder();
                string[] stemp = strEmailBody.Split('\n');//去掉回车换行符
                foreach (string t in stemp)
                {
                    sBody.Append(t);
                }            MailMessage message = new MailMessage(strFrom,strTo, strEmailSubject, sBody.ToString());
                message.BodyEncoding = Encoding.UTF8;
                message.IsBodyHtml = true;
                message.Priority = MailPriority.High;
                if (sAttachFileName != "")
                    message.Attachments.Add(new Attachment(sAttachFileName));
                try
                {
                    client.Send(message);
                    
                    return strTo + "-邮件发送成功!\r\n";
                }
                catch (Exception e)
                {
                    return strTo + "邮件发送失败:" + e.Message.ToString() + "\r\n";
                }
     #endregion感觉我的代码和大家的差不多啊
    而且 我用来发送的qq账户 已经在设置里面 开启了POP3/SMTP服务
      

  12.   

    WebProxy类:当程序需要通过代理服务器进行通信时,使用WebProxy类。
    通过该类,可以指定代理服务器的名称,进行通信所用的端口,以及对于本地通信是否使用代码服务器。
    邮件发送:     //设置代理服务器
                 WebProxy proxy = new WebProxy();
                 proxy.UseDefaultCredentials = true;
                 proxy.BypassProxyOnLocal = true;
                 GlobalProxySelection.Select = proxy;
                 //设置Smtp
                 SmtpClient sc = new SmtpClient();
                 sc.Host = "【SMTP发送邮件服务器】";
                 sc.DeliveryMethod = SmtpDeliveryMethod.Network;
                 MailMessage m = new MailMessage("【自己邮箱地址】","【对方邮箱地址】");
                 MailAddress copy = new MailAddress("【自己邮箱地址】");
                 m.CC.Add(copy);
    m.Body = 【邮件正文控件如txt1等】.Text;//邮件的正文格式为text格式。还有html格式需要其他方法。
    //还可以指定邮件的重要C性【m.Priority = MailPriority.High;】High为高,还有Low,Normal。
    //这边“m”还可以点出很多属性,比如说邮件的主题:m.Subject等。
    //m.AlternateViews.Add(new Attachment("【附件路径】"));//邮件附件。
                 //身份验证
                 NetworkCredential myCred = new NetworkCredential("【自己邮箱帐号】","【自己邮箱密码】");
                 sc.Credentials = myCred;
                 sc.Send(m);
                 MessageBox.Show("发送成功");
      

  13.   

    MailAddress copy = new MailAddress("【自己邮箱地址】");
    这个是抄送,可以去掉。
      

  14.   

    引用 11 楼 pm90125 的回复:我刚做了一个QQ邮件发送的给你代码看看
    C# codeMailAddress EmailFrom = new MailAddress("发送邮箱地址");
    MailAddress EmailTo = new MailAddress("接受邮箱地址");
    MailMessage mailMsg = new MailMessage(EmailFrom, Ema……谢谢 我的也是这么写的  
    你的可以发送吗?
    你发送qq多少级了 我的发送成功了!应该是你设置有问题
      

  15.   

    .net 发送邮件的一个bug。
    计算名。必须是英文的。中文的就会发送失败。
      

  16.   


    $smtp = "smtp.qq.com"; 
    $check =1; 
    if ($check) { 
    $username = "[email protected]"; 
    $password = "88888888";  
    } $s_from = "[email protected]";  
    ############################################### //连接服务器 
    $fp = fsockopen ( "$smtp", 25, $errno, $errstr, 30); 
    if (!$fp ) return "联接服务器失败".__LINE__; 
    set_socket_blocking($fp, true ); $lastmessage=fgets($fp,512); 
    if ( substr($lastmessage,0,3) != 220 ) return "错误信息:".$lastmessage.__LINE__; 哪位大侠帮我看看这个问题在哪里,怎么我发不了邮件,提示为
    Warning: fsockopen() [function.fsockopen]: unable to connect to smtp.qq.com:25 in /www/users/0511w.com/send.php on line 39
    联接服务器失败40