我使用最新版本的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());
答案 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连接。