PHP 邮件程序 SMTP 错误命令失败



我在尝试设置 PHP Mailer 时遇到了一些麻烦。 我不断收到此错误。我已经在 php.ini 中禁用并启用了扩展名=php_openssl.dll。我已经为安全性较低的应用程序启用了 Access,打开了 imap,但仍然什么都没有。

2017-05-05 09:33:09     SERVER -> CLIENT: 220 smtp.gmail.com ESMTP v7sm1232085wme.5 - gsmtp
2017-05-05 09:33:09     CLIENT -> SERVER: EHLO Gonþalo-PC
2017-05-05 09:33:10     SERVER -> CLIENT: 501-5.5.4 HELO/EHLO argument "Gonþalo-PC" invalid, closing connection.
501 5.5.4  https://support.google.com/mail/?p=helo v7sm1232085wme.5 - gsmtp
2017-05-05 09:33:10     SMTP ERROR: EHLO command failed: 501-5.5.4 HELO/EHLO argument "Gonþalo-PC" invalid, closing conn
ection.
501 5.5.4  https://support.google.com/mail/?p=helo v7sm1232085wme.5 - gsmtp
2017-05-05 09:33:10     CLIENT -> SERVER: HELO Gonþalo-PC
2017-05-05 09:33:10     SERVER -> CLIENT:
2017-05-05 09:33:10     SMTP ERROR: HELO command failed:
2017-05-05 09:33:10     SMTP NOTICE: EOF caught while checking if connected
2017-05-05 09:33:10     SMTP Error: Could not connect to SMTP host.
2017-05-05 09:33:10     SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

我正在使用XAMPP V.3.2.2,PHP 7.1.2,COMPOSER 5.2。

这是我的代码

<?php
date_default_timezone_set('Etc/UTC');
require 'vendor/autoload.php';
require_once 'buscar_lembretes.php';

$lembretes = buscarLembretes();

foreach ($lembretes as $lembrete) {
$mail = new PHPMailer;
$mail->isSMTP();
$mail->SMTPDebug = 2;
$mail->Host = 'smtp.gmail.com';
$mail->Port = 587;
$mail->SMTPSecure = 'tls';
$mail->SMTPAuth = true;
$mail->Username = "myemail@gmail.com";
$mail->Password = "mypassword";
$mail->setFrom('myemail@gmail.com', 'Lembrestes App');
$mail->addAddress($lembrete['email'], $lembrete['email']);
$mail->Subject = 'Lembrete';
$mail->Body = $lembrete['descricao'];
$mail->send();
}

谢谢

这是由于 php.ini 中的设置,或者用于 HELO 字符串的本地主机名。您那里的内容对 SMTP 无效,SMTP 此时仅处理 7 位数据。您可以通过将Hostname属性设置为主机的任何名称来覆盖此设置,例如:

$mail->Hostname = 'myserver.example.com';

请注意,这与Host属性不同,属性是要连接到的服务器的地址。

相关内容

最新更新