php mail: попадания писем в спам

Discussion in 'PHP' started by GAiN, 13 Jan 2023.

  1. GAiN

    GAiN Elder - Старейшина

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    Здравствуйте.
    скрипт отправляет только числовые коды активации учетных записей, но они попадают в папку спам.
    его заголовки:
    PHP:
    $headers "From: $name <$from>\r\n" .
    "Reply-To: $from"\r\n" .
    'X-Mailer: PHP/' phpversion() . "\r\n" .
    "MIME-Version: 1.0\r\n" .
    "Content-Transfer-Encoding: 8bit\r\n\r\n";
    что можно поправить что бы вероятность попадания в спам стала меньше ?
     
  2. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,174
    Likes Received:
    1,157
    Reputations:
    202
    Используй более продвинутую библиотеку которая отправляет больше заголовков. ну и если домен молодой то все равно может попадать в спам. Для своего сайта я специально делал рассылку через сервисы амазона, т.к. вероятность попасть в спам почти нулевая от них.
     
    CyberTro1n and dooble like this.
  3. shit'o'cod

    shit'o'cod Member

    Joined:
    5 Oct 2012
    Messages:
    29
    Likes Received:
    24
    Reputations:
    1
    Да, здесь, скорее всего, дело не в скрипте, и не в заголовках, а в настройках сервера, через который отправляется сообщение. То есть проблема в домене, настройках домена, ip-адресе.

    Я совершенно не понимаю в PHP :) Но интернет говорит, что "Функция mail дергает локальный (для сервера на котором работает PHP-скрипт) MTA (Mail Transfer Agent)".
    Соответственно, надо настраивать этот сервер, если это возможно.
    Должен быть нормальный домен с репутацией. У домена должны быть прописаны записи SPF, DKIM. Должен быть "нормальный" ip с настроенной обратной зоной. Ни домен, ни ip не должны быть в блэк-листах. Домен и ip должны быть минимально "прогреты" (об этом можно более подробно почитать в инете).

    PHP, например с помощью библиотеки PHPMailer, позволяет работать с любым почтовым сервером через SMTP.
    Обычно рассылки осуществляются таким образом, на любых языках/платформах.

    Следовательно, нужен аккаунт на каком-то почтовом сервере. Можно пользоваться сторонними сервисами, созданными специально для рассылок. Можно пользоваться аккаунтами любых бесплатных почтовых сервисов, при соблюдении их условий. К некоторым почтовым сервисам (почта для домена, бизнес-почта и др.) можно прикрепить свой домен, но потребуется правильная настройка домена (SPF, DKIM и др.).
    В этих случаях вся головная боль по настройке почтового сервера уже решена. Вам лишь надо пользоваться им посредством SMTP.

    Можно также запустить свой SMTP сервер. Но придётся самому его настраивать (что не так сложно), и, самое главное, постепенно прогревать домен и ip.
     
    dooble likes this.
  4. sherxan-g

    sherxan-g Member

    Joined:
    6 Jan 2016
    Messages:
    77
    Likes Received:
    18
    Reputations:
    0
    1. Добавить SPF и DKIM записи для вашего домена. Это поможет почтовым сервисам проверять подлинность отправителя.
    2. Избегайте использования слов и фраз, которые могут сработать как спам-фильтры. Это включает в себя использование большого количества восклицательных знаков, слов, связанных с финансами, взломом и т.д.
    3. Не используйте HTML-теги и код в теле письма, если это не обязательно. Некоторые почтовые сервисы могут отфильтровать такие письма.
    4. Не используйте HTML-теги и код в теле письма, если это не обязательно. Некоторые почтовые сервисы могут отфильтровать такие письма.
    5. Проверьте репутацию вашего IP-адреса и домена отправителя в списке RBL (Real-time Blackhole List), чтобы убедиться, что они не находятся в списке заблокированных.
    6. Используйте ресурсы, такие как Mail-Tester, чтобы проверить качество вашего письма и вероятность попадания его в спам.
    Кроме того, вы можете попробовать изменить заголовки вашего письма, например, добавить более детальный и точный заголовок и убедиться, что заголовок соответствует содержимому письма.