PHP中使用该noreply邮件格式是否正确?含显示公司名需求咨询
在PHP中设置noreply邮件的正确格式
嘿,你的这段代码有两个小问题,导致收件人看不到正确的发件人信息或者无法正确识别回复地址,我来帮你修正下~
首先,你混淆了From和Reply-To的作用:
From头是用来显示发件人名称和邮箱的,这是收件人第一眼看到的发件信息Reply-To是指定用户回复邮件时默认发送的地址
其次,你当前的邮件头格式不符合RFC邮件标准,正确的显示名称+邮箱的格式应该是 "显示名称" <邮箱地址>,直接把名称和邮箱连在一起的话,邮件客户端无法正确解析,自然看不到邮箱地址。
修正后的代码
$eol = PHP_EOL; // 设置From头,让收件人看到公司名称和noreply邮箱 $headers = 'From: "COMPANY NAME" <noreply@example.com>' . $eol; // 设置Reply-To为noreply地址,确保用户回复会发送到这里 $headers .= 'Reply-To: "COMPANY NAME" <noreply@example.com>' . $eol; // 建议加上Content-Type,避免中文乱码或格式问题 $headers .= 'Content-Type: text/plain; charset=utf-8' . $eol;
额外说明
如果你希望用户完全无法回复,其实可以不设置Reply-To,或者把Reply-To设置成一个无效的地址(比如no-reply@example.com),但通常正规的做法是保留有效的noreply地址,只是后台不处理该地址的收件。
这样设置后,收件人会清晰看到发件人是COMPANY NAME,对应的邮箱是noreply@example.com,回复操作也会正确指向这个地址。
内容的提问来源于stack exchange,提问作者Austin
相关产品推荐
相关产品推荐

