PHPMailer Email spoofing报错修复:如何设置发件人为站点域名邮箱
解决方案
修改步骤
找到代码中//Recipients开头的收件人配置段,将原有代码替换为以下内容:
//Recipients // 固定发件人为站点域名邮箱,绕过邮件伪造校验 $mail->setFrom('contact@mikesledztattoo.com', '官网纹身咨询提交'); $mail->addAddress('personalemail@gmail.com', 'Mike S'); // 回复地址设为用户提交的邮箱,不影响正常回复用户 $mail->addReplyTo($email, $name);
修改说明
- 原代码
setFrom使用用户提交的任意邮箱作为发件人,触发了SMTP服务商的邮件伪造校验规则,修改后固定使用和SMTP认证账号一致的站点域名邮箱,符合发件规范,不会再触发拦截报错 - 修复了原代码
addReplyTo使用单引号包裹PHP变量的语法错误,单引号不会解析变量,会导致回复地址失效,修改后用户点击回复邮件时仍然会直接发送到表单提交用户的邮箱,不影响使用体验 - 邮件正文已经保留了用户提交的姓名、邮箱、电话、咨询内容等全部信息,不会影响你识别提交用户的身份
内容的提问来源于stack exchange,提问作者elijahk4
相关产品推荐
相关产品推荐

