您好,欢迎访问一九零五行业门户网

关于smtp发邮件,哪位高手能帮忙看看 503 Error: need EHLO and AUTH first

关于smtp发邮件,谁能帮忙看看 503 error: need ehlo and auth first
resolving smtp server domain smtp.qq.com...
connecting to host address 119.147.74.45 port 25...
connected to smtp server smtp.qq.com.
s 220 esmtp4.qq.com esmtp qq mail server
c ehlo localhost
s 250-esmtp4.qq.com
s 250-pipelining
s 250-size 52428800
s 250-auth login
s 250-auth=login
s 250 8bitmime
c mail from:
c rcpt to:
c data
s 503 error: need ehlo and auth first !
disconnected.
cound not send the message to 276190536@qq.com. error: 503 error: need ehlo and auth first !
------解决方案--------------------
发送邮件前需要登陆
你有没有发登陆信息给smtp.qq.com服务器?
------解决方案--------------------
1) 检查你的qq邮箱的pop/smtp功能有没有打开?
2) 有可能你的程序多次登录,被qq邮箱当作恶意登录给拒绝了,换其他邮箱发送试试看。
3) 贴出你的代码,要不然别人不知道怎么帮你检查
------解决方案--------------------
很可能是你的qq邮箱的设置错误..看看开通了pop3和smtp服务.
------解决方案--------------------
need ehlo and auth first !
这个不是说得很清楚了吗?
要先打招呼握手,并请求登陆。
php codeif(!$fp=fsockopen($this->smtp['host'],$this->smtp['port'],$errno,$errstr)){ $this->message[]=连接邮件服务器失败,请检查:\r\n1、服务器地址和端口是否设置正确!\r\n2、网络是否通畅!; return false; } if(strncmp(fgets($fp,512),'220',3)!=0){ $this->message[]=连接邮件服务器失败,请检查:\r\n1、服务器地址和端口是否设置正确!\r\n2、网络是否通畅!; return false; } if($this->smtp['auth']){ fwrite($fp,ehlo .$this->smtp['posthost'].\r\n); while($rt=strtolower(fgets($fp,512))){ if(strpos($rt,-)!==3 || empty($rt)){ break; }elseif(strpos($rt,2)!==0){ $this->message=与服务器招呼握手时错误; return false; } } fwrite($fp, auth login\r\n); if(strncmp(fgets($fp,512),'334',3)!=0){ $this->message=提示服务器要登陆验证时错误; return false; } fwrite($fp, base64_encode($this->smtp['user']).\r\n); if(strncmp(fgets($fp,512),'334',3)!=0){ $this->message=smtp auth login 验证 用户名 错误!; return false; } fwrite($fp, base64_encode($this->smtp['pass']).\r\n); if(strncmp(fgets($fp,512),'235',3)!=0){ $this->message=smtp auth login 验证 密码 错误!; return false; } } else{ fwrite($fp, helo .$this->smtp['posthost'].\r\n); } $from = $this->smtp['from']; $from = preg_replace(/.*\.*/, \\1, $from); fwrite($fp, mail from: \r\n); if(strncmp(fgets($fp,512),'250',3)!=0){ $this->message=发信人地址错误!; return false; } fwrite($fp, rcpt to: \r\n); if(strncmp(fgets($fp,512),'250',3)!=0){ $this->message=收信人地址错误!; return false; } fwrite($fp, data\r\n); if(strncmp(fgets($fp,512),'354',3)!=0){ $this->message=邮件数据发送失败!; return false; } $msg = date: .date(r).\r\n; $msg .= subject: $send_subject\r\n; $msg .= $additional\r\n; $msg .= $send_message\r\n.\r\n; fwrite($fp, $msg); $lastmessage = fgets($fp, 512); if(substr($lastmessage, 0, 3) != 250){ $this->message=连接邮件服务器失败,请检查:\r\n1、服务器地址和端口是否设置正确!\r\n2、网络是否通畅!; return false; } fwrite($fp, quit\r\n); fclose($fp); return true;

其它类似信息

推荐信息