Как избежать, чтобы мои письма, отправленные с PHP mail (), были помечены как спам? - PullRequest
5 голосов
/ 10 октября 2011

Я использую следующее для отправки регистрационных писем:

$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

Не уверен, стоит ли мне менять вышеперечисленное.

Ответы [ 2 ]

3 голосов
/ 10 октября 2011

вам может понадобиться обратная запись DNS для вашего сервера.

многие почтовые серверы считают, что письма, отправленные с хоста, являются спамом, если имя хоста невозможно найти.то есть nslookup papa.sk должен возвращать IP-адрес, а nslookup <ip address> должен возвращать papa.sk.

2 голосов
/ 10 октября 2011

Функция php mail() не имеет никакого отношения к тому, что ваши письма помечаются как спам.

То, что электронное письмо помечено как спам, происходит на другом конце. Вы не можете сильно влиять на процесс с mail() - так как это другой конец.

Может быть тысячи причин, по которым электронная почта помечается как спам, и если вы не знаете конкретной причины, по которой ваша электронная почта помечается как спам, вы ничего не можете с этим поделать.

Есть целая индустрия, которая зарабатывает на жизнь этим кстати.

...