PHPMailer给出错误"DATA END command failed"和“不接受数据”;没有进


PHPMailer gives error "DATA END command failed" and "data not accepted" without further error explanation

我试过用这个代码发送电子邮件(SMTP_HOST等是在配置中定义的常量,它们都是定义的,它使用端口587):

    $txt = strip_tags(str_replace(array("<br>","<br'>","<br '>"),"'n",$this->_params['message']));
    // some irrelevant code here (saves record)
    $mail = new PHPMailer;
    $mail->isSMTP();
    $mail->Host = SMTP_HOST;
    $mail->Port = SMTP_PORT;
    $mail->SMTPAuth = true;
    $mail->Username = $mail->From = SMTP_USER;
    $mail->Password = SMTP_PASS;
    $mail->addReplyTo($this->_params['email'], $this->_params['name']);
    $mail->From = MAIL_FROM;
    $mail->FromName = MAIL_FROM_NAME;
    $mail->addAddress(MAIL_TO);
    $mail->Body = str_replace("'n","<br/>'n",$this->_params['message']);
    $mail->AltBody = $txt;
    $mail->Subject = MAIL_SUBJECT.$this->_params['subject'];
    $mail->isHTML (true);
    $mail->SMTPDebug = 3;
    $ok = $mail->send();

PHPMailer version 5.2.7

我收到的调试信息(我****任何私有数据):

2014-07-04 13:57:38 Connection: opening
2014-07-04 13:57:38 Connection: opened
2014-07-04 13:57:38 SERVER -> CLIENT: 220 **** ESMTP Exim 4.82 Fri, 04  Jul 2014 15:57:38 +0200
2014-07-04 13:57:38 CLIENT -> SERVER: EHLO ****
2014-07-04 13:57:38 SERVER -> CLIENT: 250-**** Hello **** [****]
250-SIZE 20971520
250-8BITMIME
250-PIPELINING
250-AUTH PLAIN LOGIN
250-STARTTLS
250 HELP
2014-07-04 13:57:38 CLIENT -> SERVER: AUTH LOGIN
2014-07-04 13:57:38 SERVER -> CLIENT: 334 ****
2014-07-04 13:57:38 CLIENT -> SERVER: ****
2014-07-04 13:57:38 SERVER -> CLIENT: 334 ****
2014-07-04 13:57:38 CLIENT -> SERVER: ****
2014-07-04 13:57:38 SERVER -> CLIENT: 235 Authentication succeeded
2014-07-04 13:57:38 CLIENT -> SERVER: MAIL FROM:<****>
2014-07-04 13:57:38 SERVER -> CLIENT: 250 OK
2014-07-04 13:57:38 CLIENT -> SERVER: RCPT TO:<****>
2014-07-04 13:57:38 SERVER -> CLIENT: 250 Accepted
2014-07-04 13:57:38 CLIENT -> SERVER: DATA
2014-07-04 13:57:38 SERVER -> CLIENT: 354 Enter message, ending with "." on a line by itself
2014-07-04 13:57:38 CLIENT -> SERVER: Date: Fri, 4 Jul 2014 15:57:38 +0200
2014-07-04 13:57:38 CLIENT -> SERVER: To: ****
2014-07-04 13:57:38 CLIENT -> SERVER: From: Automat SNC <****>
2014-07-04 13:57:38 CLIENT -> SERVER: Reply-To: **** <****@koszmail.pl>
2014-07-04 13:57:38 CLIENT -> SERVER: Subject: ****: Contact-form Test test test
2014-07-04 13:57:38 CLIENT -> SERVER: Message-ID: <ff1fbff844bf01ff24f5575e9e362ef1@****>
2014-07-04 13:57:38 CLIENT -> SERVER: X-Priority: 3
2014-07-04 13:57:38 CLIENT -> SERVER: X-Mailer: PHPMailer 5.2.7(https://github.com/PHPMailer/PHPMailer/)
2014-07-04 13:57:38 CLIENT -> SERVER: MIME-Version: 1.0
2014-07-04 13:57:38 CLIENT -> SERVER: Content-Type: multipart/alternative;
2014-07-04 13:57:38 CLIENT -> SERVER:   boundary="b1_ff1fbff844bf01ff24f5575e9e362ef1"
2014-07-04 13:57:38 CLIENT -> SERVER: Content-Transfer-Encoding: 8bit
2014-07-04 13:57:38 CLIENT -> SERVER:
2014-07-04 13:57:38 CLIENT -> SERVER: --b1_ff1fbff844bf01ff24f5575e9e362ef1
2014-07-04 13:57:38 CLIENT -> SERVER: Content-Type: text/plain; charset=us-ascii
2014-07-04 13:57:38 CLIENT -> SERVER:
2014-07-04 13:57:38 CLIENT -> SERVER: Test test test
2014-07-04 13:57:38 CLIENT -> SERVER: test test test test
2014-07-04 13:57:38 CLIENT -> SERVER: test
2014-07-04 13:57:38 CLIENT -> SERVER:
2014-07-04 13:57:38 CLIENT -> SERVER:
2014-07-04 13:57:38 CLIENT -> SERVER: --b1_ff1fbff844bf01ff24f5575e9e362ef1
2014-07-04 13:57:38 CLIENT -> SERVER: Content-Type: text/html; charset=us-ascii
2014-07-04 13:57:38 CLIENT -> SERVER:
2014-07-04 13:57:38 CLIENT -> SERVER: Test test test
2014-07-04 13:57:38 CLIENT -> SERVER: <br/>
2014-07-04 13:57:38 CLIENT -> SERVER: test test test test
2014-07-04 13:57:38 CLIENT -> SERVER: <br/>
2014-07-04 13:57:38 CLIENT -> SERVER: test
2014-07-04 13:57:38 CLIENT -> SERVER:
2014-07-04 13:57:38 CLIENT -> SERVER:
2014-07-04 13:57:38 CLIENT -> SERVER:
2014-07-04 13:57:38 CLIENT -> SERVER: --b1_ff1fbff844bf01ff24f5575e9e362ef1--
2014-07-04 13:57:38 CLIENT -> SERVER:
2014-07-04 13:57:38 CLIENT -> SERVER: .
2014-07-04 13:57:48 SERVER -> CLIENT:
2014-07-04 13:57:48 SMTP ERROR: DATA END command failed:
SMTP Error: data not accepted.
2014-07-04 13:57:48 CLIENT -> SERVER: QUIT
2014-07-04 13:57:49 SERVER -> CLIENT: 250 OK id=1X33ze-0007GO-Nc
2014-07-04 13:57:49 SMTP ERROR: QUIT command failed: 250 OK id=1X33ze-0007GO-Nc
2014-07-04 13:57:49 Connection: closed

谁能给我提示一下这里可能有什么问题?

SMTP服务器的这种奇怪行为是由DNS和服务器配置错误引起的。

我们有几个VPS服务器,其中一个(接收者R)上的一个域的子域被委托给另一个(发送者S)。错误地在S上有一个"a"条目,用于R的域(这实际上是在其他DNS上)。它还错误地将IP设置为S,并且S被(由Direct Admin)配置为处理该R域的电子邮件。这是不可能的,因为没有合适的邮箱,也没有MX记录在本地DNS。

关闭发件人对接收域的电子邮件处理,并删除了错误的DNS条目,现在它工作了