PHPMailer 发送邮件但客户端收不到

标签 php email phpmailer

我尤其在 PHPMailer 中遇到了问题。我有一个联系表,并使用 PHPMailer 发送电子邮件。显然我可以发送,对我来说它返回“真”,但电子邮件没有到达您的收件箱。我尝试了几种方法来查找错误,但没有成功。我尝试启用和禁用带有和不带有 SMTP 身份验证的 SMTP,多种形式。按照我下面的代码。

<?php
session_start();
require("phpmailer/class.phpmailer.php");

$mail = new PHPMailer();

//$mail->IsSMTP();
$mail->Host = "smtp.mysite.com";
$mail->SMTPAuth = false; 
$mail->Username = 'my@email.com';
$mail->Password = 'passhere';

$mail->From = "Newsletter";
$mail->Subject = "Newsletter";
$email = $_POST['email_news'];
$mail->AddAddress('my@email.com');
$mail->IsHTML(true);
$mail->CharSet = 'utf-8';

$mail->Body = "
    <html>
        <body>
        <b>Email:</b> $email<br/><br/>
        </body>
    </html>             
";

if(!$email){
    $result = "error";
}else{
    $send = $mail->Send();
    if($send){
        $result = "sucess";
    }else{
        $result = "error";
        echo $mail->ErrorInfo;
    }
}

$mail->ClearAllRecipients();
$mail->ClearAttachments();

header("Location: http://www.mysite.com");

?>

我设法通过 Gmail 使用身份验证解决了我的问题。身份验证如下:

$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->SMTPSecure = "tls";
$mail->Host = "smtp.gmail.com";
$mail->Port = 587;
$mail->Username = 'my@email.com';
$mail->Password = 'passhere';

但我有一个疑问。此验证码仅用于从 gmail 发送电子邮件?或者它是 gmail 为 PHPMailer 中的一般验证电子邮件提供的背书?

最佳答案

我会发表评论,但我没有足够的积分。

几周前这件事发生在我身上。只是想分享一下,如果您使用的是一般共享主机计划,请让您的虚拟主机配置域以启用 SPF。 (我的包裹没有这些默认设置 - 只需检查您的网络托管服务器)。

托管在我的虚拟主机服务器上的一些域正在接收电子邮件,而其他域则没有(这些电子邮件被退回给发件人,即使它们是由 Gmail 发送的)。在有人建议如果您使用的是共享托管计划,请检查您的记录之前,我无法弄清楚问题出在哪里。

您还可以在 cPanel 的论坛上找到关于它的主题 https://forums.cpanel.net/threads/email-can-send-not-receive.594419/

只是我的 2 美分,希望它能帮助别人。

关于PHPMailer 发送邮件但客户端收不到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20472031/

相关文章:

php - 使用 phpmailer 时无法发送邮件

php - 如何配置 Phabricator 来加密外发电子邮件?

php - 在 PHP 中访问类变量的替代语法

javascript - 主干滚动事件未触发

php - MySQL 数据库中无法识别的 UTF8 立陶宛字符

php - 如何在 Laravel 5 .env 文件中设置多个发送地址?

php - 将 PHP 上的结果通过电子邮件发送到用户输入的电子邮件地址

phpmailer - 如何验证已发送的电子邮件是否到达目的地

php - 无法使用 phpmailer 使用 smtp.gmail

php - 如何在 jquery 上使用循环来缩短我当前的代码?