php mail收不到邮件,PHPMailer发送电子邮件但客户端没有收到它们

博主在使用PHPMailer发送邮件时遇到问题,邮件无法正常送达。尝试了不同SMTP设置,包括启用和禁用SMTP身份验证,以及使用不同的主机。最终通过Gmail的SMTP身份验证解决了问题。问题可能与SPF记录配置有关,尤其是对于共享主机方案。解决方案是检查和配置SPF记录以确保邮件传递的成功。
摘要由CSDN通过智能技术生成

我在

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

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 = "

Email: $email

";

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.

(我的软件包默认没有这些设置 – 只需检查您的Web主机服务器).

我的虚拟主机服务器上托管的某些域名正在接收电子邮件,而其他域名则没有(即使邮件是由Gmail发送的,电子邮件也会被退回给发件人).我无法弄清楚问题出在哪里,直到有人建议如果您正在共享主机方案,请检查您的记录.

只需2美分,希望能帮助别人.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值