我正在使用以下内容发送注册电子邮件:
$subject = 'subject is here';
$message_raw = 'e-mail text';
$message = base64_encode($message_raw);
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/plain; charset=UTF-8' . "\r\n";
$headers .= 'Content-Transfer-Encoding: base64' . "\r\n";
$headers .= 'From: papa.sk <register@papa.sk>' . "\r\n";
$sendit = mail($to, $subject, $message, $headers);
对于某些人来说,这些电子邮件会被放入垃圾邮件文件夹中(在gmail中也是如此)。
在/etc/postfix/main.cf我有这个:
myorigin = /etc/mailname
smtpd_banner = papa1.vps.websupport.sk ESMTP
不确定是否应该更改以上内容。
答案 0 :(得分:3)
您可能需要为您的服务器提供反向DNS记录。
许多邮件服务器认为,如果无法查找主机名,则从主机发送的邮件是垃圾邮件。那个nslookup papa.sk
应该返回一个ip地址,nslookup <ip address>
应该返回papa.sk。
答案 1 :(得分:2)
php mail()
功能与您的电子邮件被标记为垃圾邮件毫无关系。
电子邮件被标记为垃圾邮件发生在另一端。你不能用mail()
来影响这个过程 - 因为它是另一端。
将电子邮件标记为垃圾邮件的原因可能有数千种,只要您不知道将电子邮件标记为垃圾邮件的具体原因,就无法对此进行任何操作。
有一整个行业以此为生。