无法修复PHP邮件发送中的SMTP错误

Unable to fix SMTP error in PHP mail sending

提问人:M G 提问时间:8/31/2023 最后编辑:OlivierM G 更新时间:8/31/2023 访问量:99

问:

enter image description here

尝试使用 smtp 发送邮件时出现上述错误。下面显示的是我在尝试使用 .虽然它在屏幕截图中被提及为错误,但我不明白其中的实际错误是什么以及如何修复它。非常感谢任何帮助解决这个问题。var_dump($mail);enter image description here

我正在测试的网站托管在 cpanel 中。我点击了这个链接:对于使用的代码。我已经安装了此链接中提到的 composer 命令,然后,只使用了下面的代码。有人可以告诉我我错过了什么吗?https://github.com/PHPMailer/PHPMailerPHPMailer

法典

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

require '../vendor/autoload.php';

$mail = new PHPMailer(true);

try {

  $to = '[email protected]';
  $name = filter_input(INPUT_POST, 'name', FILTER_SANITIZE_SPECIAL_CHARS);
  $from = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_EMAIL);
  $subject = filter_input(INPUT_POST, 'subject', FILTER_SANITIZE_SPECIAL_CHARS);
  $message = filter_input(INPUT_POST, 'message', FILTER_SANITIZE_SPECIAL_CHARS);

  $mail->SMTPDebug = SMTP::DEBUG_SERVER;
  $mail->isSMTP();                                     
  $mail->Host = 'smtp.gmail.com';  
  $mail->SMTPAuth = true;                               
  $mail->Username = 'vo******@gmail.com';               
  $mail->Password = 'vo******';                          
  $mail->SMTPSecure = 'tls';                           
  $mail->Port = 587;

  $mail->addAddress($to, 'Voicene Technologies');
  $mail->setFrom($from, $name, 'Mailer');
  $mail->Subject = $subject;
  $mail->Body    = $message;

var_dump($mail);
die();
   
    $mail->send();
    echo 'Message has been sent';
  
} catch (\Exception $e) {
  echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
}
php 电子邮件 smtp gmail phpmailer

评论

1赞 Tangentially Perpendicular 8/31/2023
看起来您的托管公司正在阻止对 GMail 服务器的访问。托管公司通常要求您通过他们的中继发送电子邮件。这有助于他们抵御垃圾邮件发送者。联系您的托管公司,询问他们处理出站邮件的安排。
0赞 M G 8/31/2023
@TangentiallyPerpendicular 该网站托管在cpanel中。所以,你的意思是与cpanel支持联系,对吧?
1赞 KIKO Software 8/31/2023
CPanel 是服务器管理软件,而不是托管公司。托管公司是服务器的物理硬件所在的位置。
1赞 CBroe 8/31/2023
这里再猜测也没什么意义了 - 联系您的托管商的支持,并询问他们发生了什么。
1赞 Adi 8/31/2023
它看起来像是配置问题,因为您收到了 SMTP 101 错误。另外,我相信你错过了,但这并没有导致问题。另外,我建议您使用端口。您是否遵循了 PHPMailer github.com/PHPMailer/PHPMailer/blob/master/examples/gmail.phps 给出的示例?$mail->IsHTML(true);$mail->Port = 465;

答: 暂无答案