我在尝试设置PHP Mailer时遇到了一些麻烦。 我一直收到这个错误。我在php.ini中禁用并启用了extension = 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();
}
由于
答案 0 :(得分:1)
这是由于php.ini中的设置或用于HELO字符串的本地主机名。你所拥有的内容对SMTP无效,后者仅处理7位数据。您可以通过将Hostname
属性设置为主机名称来覆盖此值,例如:
$mail->Hostname = 'myserver.example.com';
请注意,这与Host
属性不同,后者是您将连接到的服务器的地址。