我有一些这样的脚本发送电子邮件:
$content = "<html><head><title>xxxxx</title></head><body>blabla</body></html>"; $headers ='From: "'.$email_auteur.'"<'.$email_auteur.'>'."\n"; $headers .='Reply-To: '.$email_auteur.''."\n"; $headers .='Content-Type: text/html; charset="iso-8859-1"'."\n"; $headers .='Content-Transfer-Encoding: 8bit'; mail("[email protected]", "Subject", $content, $headers);
像这样的所有脚本工作正常。 但我改变了服务器(相同的操作系统(Debian)),现在这些脚本不再工作了。 我注意到,如果我删除这行结尾的\ n:
$headers .='Reply-To: '.$email_auteur.''."\n";
它的工作原理!…但是我有很多这个脚本运行在服务器上,所以修正它们太过于挑剔。 我在哪里可以find一些conf来接受这个angular色?
正如在php文档http://dk1.php.net/manual/en/function.mail.php中可以看到的那样,你应该用\ r \ n来代替\ n(除非使用有问题的邮件传输代理双重编码)。
根据https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6864,您被标记为垃圾邮件,因为您在" From标题中没有"之间的空格。
您应该在From标题中添加空格,这应该足以摆脱垃圾邮件分数。
从:
$ headers ='From:“'。$ email_auteur。'”<'。$ email_auteur。'>'。“\ n”;
至:
$ headers ='From:“'。$ email_auteur。'”<'。$ email_auteur。'>'。“\ n”;
其实,你不应该使用电子邮件地址作为显示名称,所以如果你没有任何相关的东西作为显示名称使用:
$ headers ='From:'。$ email_auteur。“\ n”;