PHPMailer发送带附件邮件至Gmail、Hotmail进入垃圾箱问题咨询
避免邮件进入垃圾箱的调整方案
- 补全SMTP发信配置
你当前代码未显式指定SMTP通道,默认使用服务器本地mail函数发信,无身份校验,极易被判定为垃圾邮件。请在实例化PHPMailer后补充以下配置,走正规邮件服务商SMTP通道发信:
$email->isSMTP(); $email->Host = 'smtp.gmail.com'; // 对应发件邮箱的官方SMTP地址 $email->SMTPAuth = true; $email->Username = 'Steven123@gmail.com'; // 发件人邮箱账号 $email->Password = '你的邮箱应用专用密码'; // 不要使用普通登录密码,需在邮箱后台开启应用专用密码 $email->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; $email->Port = 465;
- 优化邮件内容
当前仅设置Hi作为正文,内容过短且无有效信息,容易触发垃圾邮件规则。建议补充和主题匹配的完整正文内容,最好同时配置HTML和纯文本双格式正文。 - 调整附件配置
当前指定的附件MIME类型为application/octet-stream,PDF类附件请修改为标准的application/pdf,避免被判定为可疑附件。 - 配置域名校验记录
如果使用自有域名发信,需要在域名DNS中添加三类校验记录:- SPF记录:指定允许给该域名发信的IP地址范围
- DKIM记录:为发信内容添加电子签名,避免内容被篡改
- DMARC记录:指定邮箱服务商对未通过校验的邮件的处理规则
- 不要伪造公共域名发件人
你当前使用gmail.com作为发件人域名,如果你未走Gmail官方SMTP通道发信,你的服务器IP不会被包含在Gmail的SPF允许列表中,会直接被判定为伪造发件人,必然进入垃圾箱。
可信发件域名说明
不存在可以直接实现高投递率的现成可信发件域名,所有域名的发信信誉都需要长期合法使用积累,稳定发信可选择两类方案:
- 自行注册独立域名,配置好上述三类DNS校验记录,正常发信逐步积累信誉即可
- 使用正规第三方邮件推送服务的共享发信域名,这类域名已经有基础发信信誉,只要发送的是合规非垃圾内容,投递表现会优于新注册的独立域名。
内容的提问来源于stack exchange,提问作者Mitch
相关产品推荐
相关产品推荐

