Как отправить электронное письмо с помощью php без автоматической отправки почты в корзину

StackOverflow https://stackoverflow.com/questions/4529528

Вопрос

Я использую функцию mail () PHP для отправки нескольких электронных писем.Но все мои письма автоматически попадают в корзину.Есть ли способ предотвратить это?Если да, то где мне следует почитать, чтобы узнать об этом больше.

Не могли бы вы порекомендовать мне использовать PHPMailer?

С наилучшими пожеланиями, Александр

Это было полезно?

Решение

Я полагаю, вы имеете в виду Thrash Box на конце приемника. Таким образом, в основном полученный почтовый сервер относится как к спаму. Это может произойти, если:

1) IP, из которого вы отправляете, уже записан на спам (часто случается в общем хостинге)

2) IP и домен являются относительно новыми и неизвестными.

(Обратите внимание, что много раз, информационные бюллетени с хорошо известных сайтов также оказываются в спаме).

Если это ваш выделенный IP -адрес, то установка RDN для IP, чтобы соответствовать доменному имени, скорее всего, решит проблему. Еще одна обычная практика - предупредить приемник (если она подписывается на ваш веб -сайт), чтобы проверить их папку Thrash/Spam и белый адрес вашего адреса электронной почты в своей почтовой учетной записи.

С уважением,

JP

Другие советы

Не хочу хвастаться, но я инженер почтового сервера.Спам-фильтры выявляют ряд "проблем" с электронной почтой и начисляют "баллы" за каждую небольшую проблему.Если накопится достаточное количество таких проблем, электронное письмо может быть (любым из):отклонено во время SMTP, перенаправлено в папку "Спам", перенаправлено во Входящие, но помечено "СПАМ" blackhooled (таинственно утерян).

Чтобы избежать этой проблемы, вы хотите устранить НЕСКОЛЬКО неполадок, и это снизит ваш рейтинг нежелательной почты или конфликт политики в отношении нежелательной почты.На самом деле, если вы хотите добиться наилучших результатов, вам стоит приложить все усилия и немного узнать о "лучших практиках электронной почты".

1 проблема заключается в:не отправляйте электронное письмо получателю с помощью PHP-скрипта на веб-сервере.Во всяком случае, не напрямую получателю.

Программы защиты от нежелательной почты давно научились не доверять электронной почте через Интернет из-за небезопасных установок formmail.pl и т.д.

ПРАВИЛЬНЫЙ способ отправки электронной почты с веб-сервера - это отправить электронное письмо через действительный почтовый ящик на действительном почтовом сервере.Так что, если ваш сайт имеет электронной почты, хостинга, создать почтовый ящик с именем, например 'website-notification@websitedomain.com'.Называйте это как хотите.Теперь вы хотите, чтобы ваш PHP-скрипт отправлял электронное письмо по этому адресу, используя аутентифицированный SMTP.Я оставлю процесс изучения того, как использовать аутентифицированный SMTP из PHP, в качестве учебного упражнения для вас (в Интернете есть много руководств).

Как только вы отправляете электронные письма через свой действующий SMTP-сервер, возможно, ваша электронная почта доставляется лучше..но не останавливайтесь на достигнутом.У вас все еще может возникнуть та же проблема в каком-нибудь другом домене доставки электронной почты...

2) Как заметил кто-то еще, убедитесь, что вы не пропустили:От:Субъект:и Дата:.Дата должна быть в стандартном формате даты для электронной почты, иначе некоторые спам-фильтры отметят ее.Если у вас отсутствует какой-либо заголовок, вы будете помечены для получения баллов за спам.

3) Ваш адрес ОТПРАВЛЕНИЯ должен быть ДЕЙСТВИТЕЛЬНЫМ почтовым ящиком.Не отправляйте электронное письмо, используя "От:noreply@yourdomain.com ".Адрес "От" должен существовать, потому что некоторые программы защиты от нежелательной почты выполняют "Проверку отправителя", чтобы проверить, является ли адрес "От" поддельным.

На вашем почтовом сервере создайте noreply@.Никто не говорит, что вы действительно должны проверять этот почтовый ящик...у вас могло бы быть правило, которое автоматически удаляет всю почту по неконтролируемому адресу.Ключевой момент заключается в том, что если другие почтовые серверы получат сообщение "550 Таких пользователей нет" при подключении к вашему MX и проверке этого почтового ящика, то ваше электронное письмо может быть помечено как спам.

4) Если в DNS вашего домена есть запись SPF, будьте на 100% уверены, что в ней перечислены все IP, с которых может отправляться электронная почта для вашего домена.Если вы не уверены, не используйте записи SPF, потому что плохая запись SPF снизит скорость доставки.

5) Не используйте сервисы "Конфиденциальность при регистрации домена" или "Прокси-сервер домена", которые скрывают вашу контактную информацию из вашего WHOIS.Любому законному отправителю электронной почты не нужно скрывать контактную информацию домена.Спам-фильтры проверят это.

6) Знайте IP-адрес вашего почтового сервера и регулярно проверяйте, нет ли его в "черном списке" SpamCop, SpamHaus или в черных списках спама Barracuda.Погуглите подробнее.

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

Ответ JP частично правильный, но он также может быть вашим заголовком в электронном письме, которое я знаю по опыту, это отправляет вещи в папку спама, попробуйте следующее;

Установите электронные письма в свой домен, что-то вроде безревно или действительный ответ.

$to      = 'nobody@example.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webmaster@example.com' . "\r\n" .
    'Reply-To: webmaster@example.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);

Это, вероятно, как -то связано с конфигурацией настройки Mail Client и Spam. Попробуйте открыть аккаунт на gmail.com и отправка электронной почты там, если все в порядке, вы знаете, что это ваш почтовый сервер/клиент. Если это не так, опубликуйте свой PHP -код и полные заголовки электронной почты из электронного письма, которое у вас есть.

Это происходит потому, что много раз, заголовки отсутствуют / если это хорошо известная подпись ключа домена домена электронной почты отсутствует или что -то в этом роде. Если у вас уже есть отдельный сервер электронной почты, вы должны проверить, можете ли вы использовать пакет PHP Pear Mail для отправки электронной почты с помощью вашего почтового сервера, а не непосредственно через функцию почты. Это то, что я нахожу удобным, как гораздо более гибким.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top