php邮件发送的错误 怎么回事

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php邮件发送的错误 怎么回事相关的知识,希望对你有一定的参考价值。

Trying to smtp.qq.com:25
220 smtp.qq.com Esmtp QQ Mail Server
Connected to relay host smtp.qq.com
> HELO localhost
250 smtp.qq.com
> AUTH LOGIN MTMxOTU0NzAwMQ==
334 UGFzc3dvcmQ6
> cXFxd3d3ZWVl
535 Error: authentication failed, system busy
Error: Remote host returned "535 Error: authentication failed, system busy"
Error: Error occurred while sending HELO command.
Error: Cannot send email to <764741311@qq.com>
Disconnected from remote host
对不起,邮件发送失败!请检查邮箱填写是否有误。点此返回

<?php

/**
* 注:本邮件类都是经过我测试成功了的,如果大家发送邮件的时候遇到了失败的问题,请从以下几点排查:
* 1. 用户名和密码是否正确;
* 2. 检查邮箱设置是否启用了smtp服务;
* 3. 是否是php环境的问题导致;
* 4. 将26行的$smtp->debug = false改为true,可以显示错误信息,然后可以复制报错信息到网上搜一下错误的原因;
* 5. 如果还是不能解决,可以访问:http://www.daixiaorui.com/read/16.html#viewpl
* 下面的评论中,可能有你要找的答案。
*/

require_once "email.class.php";
//******************** 配置信息 ********************************
$smtpserver = "smtp.qq.com";//SMTP服务器
$smtpserverport =25;//SMTP服务器端口
$smtpusermail = "1319547001@qq.com";//SMTP服务器的用户邮箱
$smtpemailto = $_POST['toemail'];//发送给谁
$smtpuser = "1319547001";//SMTP服务器的用户帐号
$smtppass = "qqqwwweee";//SMTP服务器的用户密码
$mailtitle = $_POST['title'];//邮件主题
$mailcontent = "<h1>".$_POST['content']."</h1>";//邮件内容
$mailtype = "HTML";//邮件格式(HTML/TXT),TXT为文本邮件
//************************ 配置信息 ****************************
$smtp = new smtp($smtpserver,$smtpserverport,true,$smtpuser,$smtppass);//这里面的一个true是表示使用身份验证,否则不使用身份验证.
$smtp->debug = true;//是否显示发送的调试信息
$state = $smtp->sendmail($smtpemailto, $smtpusermail, $mailtitle, $mailcontent, $mailtype);

echo "<div style='width:300px; margin:36px auto;'>";
if($state=="")
echo "对不起,邮件发送失败!请检查邮箱填写是否有误。";
echo "<a href='index.html'>点此返回</a>";
exit();

echo "恭喜!邮件发送成功!!";
echo "<a href='index.html'>点此返回</a>";
echo "</div>";

?>

参考技术A 都提示了,authentication failed, system busy你看你这个帐号密码正确不,开启了SMTP没有本回答被提问者和网友采纳

从 PHP 发送邮件 - 是我的错误还是邮件服务器的错误?

【中文标题】从 PHP 发送邮件 - 是我的错误还是邮件服务器的错误?【英文标题】:Sending mail from PHP - is the error at my end, or the Mail Server's? 【发布时间】:2012-01-15 00:24:24 【问题描述】:

我正在尝试从我的 PHP 脚本通过 SMTP 发送电子邮件,通过 CodeIgniter 运行。

调试输出见下文。这是否表明我的 PHP (Unable to send email using PHP SMTP) 或他们的末尾 (hello: 250-parrot.email-provider.co.uk - 这意味着我已经连接到他们的服务器,因为我输入的实际 SMTP 服务器是 mail2.email-provider.co.uk,所以它似乎连接并重定向到这个parrot 东西)。

我已确认我的 SMTP 详细信息是正确的,但它仍然说它无法验证密码 - 即使这个相同的密码在我的本地邮件客户端中有效。

我已经更改了我的网站名称和提供商的名称(如果是我的错,我不想点名羞辱!):

220 parrot.email-provider.co.uk ESMTP Postfix 
hello: 250-parrot.email-provider.co.uk
250-PIPELINING
250-SIZE 512000000
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN CRAM-MD5 DIGEST-MD5
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
Failed to authenticate password. Error: 535 5.7.8 Error: authentication failed: UGFzc3dvcmQ6 
from: 250 2.1.0 Ok
to: 554 5.7.1 : Relay access denied
The following SMTP error was encountered: 554 5.7.1 : Relay access denied 
to: 554 5.7.1 : Relay access denied
The following SMTP error was encountered: 554 5.7.1 : Relay access denied 
to: 554 5.7.1 : Relay access denied
The following SMTP error was encountered: 554 5.7.1 : Relay access denied 
data: 554 5.5.1 Error: no valid recipients
The following SMTP error was encountered: 554 5.5.1 Error: no valid recipients 
221 2.7.0 Error: I can break rules, too. Goodbye. 
The following SMTP error was encountered: 221 2.7.0 Error: I can break rules, too. Goodbye. 
Unable to send email using PHP SMTP. Your server might not be configured to send mail using this method.
User-Agent: CodeIgniter
Date: Wed, 7 Dec 2011 13:30:16 +0000
From: "Mysite.com" 
Return-Path: 
To: myemail@email.com
Cc: myotheremail@email.com
Subject: =?utf-8?Q?The_Subject?=
Reply-To: "mail@mysite.com" 
X-Sender: mail@mysite.com
X-Mailer: CodeIgniter
X-Priority: 3 (Normal)
Message-ID: <4edf6a68626d6@mysite.com>
Mime-Version: 1.0

【问题讨论】:

您的实际 PHP 代码是什么样的?尤其是设置身份验证的部分。 【参考方案1】:

可以是:

    密码错误。

    服务器不允许/识别的登录方法。

【讨论】:

【参考方案2】:

如果您使用的是 codeigniter 邮件对象,请尝试: $this->email->print_debugger()

蛮力法,从应用程序上一层,放入log_message/trace等,调试实际的codeigniter代码,看看是怎么回事。

【讨论】:

【参考方案3】:

我遇到了同样的问题。我已将一切设置好并收到相同的消息。

问题在于,在使用$this-&gt;email-&gt;initialize($config) 应用smtp 设置之前,我已经使用$this-&gt;email-&gt;to 设置了to 地址。在我将这条线移到所有其他设置之前,一切都按预期进行。

【讨论】:

以上是关于php邮件发送的错误 怎么回事的主要内容,如果未能解决你的问题,请参考以下文章

我们设置的邮件服务器,只能接收邮件不能发送邮件,是怎么回事。

发送邮件说无法连接到服务器怎么办??

WordPress用户注册无法发送密码邮件怎么回事?

发邮件是明明显示已发送成功,但却接受不到时怎么回事啊拜托各位大神

python这样的错误怎么回事?

怎么利用php发送邮件求详细教程