2019-03-13 10:57:58 SMTP错误:无法连接到服务器:网络无法访问(101)SMTP connect()失败

时间:2019-03-13 11:03:28

标签: php smtp phpmailer

我使用最新版本的phpmailer(6.0)并使用composer。我与托管公司进行了交谈,他们说他们没有阻塞任何端口等。我不知道如何解决此问题,我希望我的代码有问题。

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require_once 'vendor/autoload.php';

$mail = new PHPMailer(true);


$mail->isSMTP();
$mail->SMTPAuth = true;
$mail->SMTPDebug = 2;

// Config
$mail->Host = 'smtp.gmail.com';
$mail->Username = 'xxx@gmail.com';
$mail->Password = 'xxx';
$mail->SMTPSecure = 'tls';
$mail->Port = 587;

$mail->setFrom('vargenelite1@gmail.com');
$mail->FromName = 'Adam Fischer';
$mail->addReplyTo('reply@fischerwebb.se','Svara ');
$mail->addAddress('gbg_adam@live.se', 'Adam Fischer');
$mail->addCC('gbg_adam@live.se', 'Adam Fischer');

$mail->Subject = 'Detta mailet';
$mail->Body = 'hEJSAAAN';
$mail->AltBody = 'lolhej';

var_dump($mail->send());

1 个答案:

答案 0 :(得分:0)

您可能首先要隔离此问题,以确定它是否确实是网络问题;或特定于PHP邮件程序或您的代码。在服务器上,从命令提示符处,尝试使用telnet在端口587上连接到smtp.gmail.com,如下所示:

telnet smtp.gmail.com 587

您应该看到来自smtp.gmail.com的回复,如下所示:

Trying 173.194.74.108...
Connected to gmail-smtp-msa.l.google.com.
Escape character is '^]'.
220 mx.google.com ESMTP f19sm71757226qaq.12 - gsmtp

您看到此消息了吗,还是连接尝试挂起并最终超时?如果连接失败,则可能意味着您的托管公司正在端口587上阻止传出SMTP连接。