【发布时间】:2022-11-07 15:19:54
【问题描述】:
我正在通过 PHPMailer 发送一封电子邮件,代码托管在托管商的 hpanel 上,我正在使用我在 hpanel 上创建的电子邮件。运行代码后,我没有收到任何错误,也没有关于邮件是否已发送的反馈,只是没有显示任何内容。
请帮助我,我目前不知道该怎么做。
require '../../vendor/autoload.php';
$mail = new PHPMailer(true);
try
{
$mail->SMTPDebug = SMTP::DEBUG_SERVER;
$mail->isSMTP();
$mail->Host = 'smtp.titan.email';
$mail->SMTPAuth = true;
$mail->Username = 'admin@hostinger.com';
$mail->Password = 'password';
$mail->SMTPSecure = 'SSL';
$mail->Port = 465;
$mail->setFrom('admin@hostinger.com', 'Hostinger');
$mail->addAddress($email, $username);
$mail->addReplyTo('admin@hostinger.com', 'For any Information');
$mail->addCC('admin@hostinger.com');
$mail->isHTML(true);
$mail->Subject = 'Sending message';
$mail->Body = $message;
$mail->AltBody = "Hello there";
$mail->send();
echo "Sent";
}
catch (Exception $eax)
{
echo 'EMAIL SENDING FAILED. INFO: '.$mail->ErrorInfo;
}
【问题讨论】:
-
如果你得到一个空白页面,那将是一个致命错误,应该出现在你的日志中,所以请在那里检查。我的猜测是您没有
use语句将 PHPMailer 导入您的命名空间,因此您在尝试创建 PHPMailer 实例时遇到了致命错误。 -
感谢您的帮助,我将 PHPMailer 导入了我的命名空间,我只是没有在代码上注明。我检查了我的错误日志,什么都没有。但是当我使用错误的密码时,它会显示身份验证错误,我仍然不知道问题出在哪里。
-
SMTPSecure应该是ssl而不是SSL,这可能会导致连接失败。 -
好的,我会这样做