Почему все письма с сайтов на VPS с ISPmanager уходят в спам или не доходят?
Подскажите пожалуйста как настроить отправку уведомлений с форм на сайтах с WordPress с помощью php фунций mail() / wpmail() чтобы они приходили во входящие сообщения, а не в спам?
Как лучше всего и/или легче всего настроить эту отправку для нескольких сайтов на сервере? В будущем их количество будет увеличиваться. Это я к тому, чтобы для одного конкретного сайта приходилось делать не так много манипуляций. Для каждого домена создавать почтовый домен, ящик, дописывать несколько записей довольно геморойное решение :)
Ранее использовал виртуальный хостинг и таких проблем не было. Помогите пожалуйста с подробной настройкой отправки писем с сервера в ISPmanager :)
UPD: в php фунции mail() в заголовке FROM я пишу info@домен.сайта, а в Яндекс.Почту приходит письмо в спам с фактическим адресом отправителя - example.com (на gmail вообще ничего не приходит), может в этом основная проблема? Откуда берется этот адрес в почти "голом" ISPmanager, может кто-то сталкивался, подскажите пожалуйста :)
Сервер: облачный KVM от REG.RU
Панель: ISPmanager Lite 5.182.3
Всем спасибо за ответы, они полезные, но ответ от технической поддержки REG.RU стал решающим, потому что с "левым" отправителем кроме спама никуда не приходило.
Адрес отправителя указан в php.ini файле той версии php, которую использует сайт. Обычно такие файлы расположены в директории вида /var/www/user/data/php_version/php.ini. В самом низу есть блок настроек [ISPmanager]. Вам нужно найти в нём sendmail_path и заменить webmaster@example.com на почту на базе вашего домена, жалетельно существующую.
Для отправки на основные почтовые сервисы достаточно будет настроить SPF запись, hostname на сервере и PTR запись для IP. С gmail будет сложнее. Тут уже можно настроить DKIM подпись и отправлять через smtp с авторизацией, но суровый фильтр google всё равно может помечать такие письма как спам. В этом случае можно попытаться обучить фильтр. Для этого пометьте сообщения как "Не спам".
ispmanager вряд ли при делах.
отправляйте почту через smtp.
ставьте на вп соответствующий плагин и настраивайте.
почту домена для надежности привяжите к яндексу.
archelon, ну пока штук 7. Потом будет больше :) Ну в общем я понял, вы предлагаете настроить отправку через SMTP на WP через плагины, и отправка в коде соотвественно через wp_mail(). Для меня это крайний вариант, если не получится найти путей реализовать это возможностями самого сервера.
Как я понял, письма с сервера уходят. Но почта попадает в спам.
Причины этого могут быть разные:
Например, содержимое писем содержит какие-то признаки.
Или ip сервера в каком-то блэклисте (бывает)
Слегка снижает вероятность срабатывания спам-фильтра правильная настройка почтового домена и сервера (spf, dkim). Но это не даст эффекта при отправке через mail.
Поэтому лучше подключить домен к https://connect.yandex.ru/pdd/ и настроить на вп плагин для отправки через smtp.
в php фунции mail() в заголовке FROM я пишу info@домен.сайта, а в Яндекс.Почту приходит письмо в спам с фактическим адресом отправителя - example.com (на gmail вообще ничего не приходит),
фактический адрес не соответствует указанному.
проверьте почту администратора домена (например webmaster@mydomain.ru, или укажите в панели нужную почту в настройках www-домена). Туда могут приходить письма от мэйлер-демона с указанием причин.
archelon, ну кстати подключать к коннекту даже не обязательно, я отправлял через smtp через обычные ящики на Яндексе. А как тогда реализуют хостинг провайдеры отправку сообщений обычной функцией mail() для своих клиентов на виртуальных хостингах?)
Как писали выше, надо добавить SPF запись на ваш домен, это повысит шанс того, что письма не попадут в спам. Если добавите подпись DKIM, это будет вообще шикарно.
https://www.mail-tester.com/
Отправляете сюда письмо, смотрите причину попадания в спам. Если не понятно что означают пункты, гуглите и исправляете.
Как минимум, надо настраивать PTR и правильный hostname на сервере. Лучше использовать локальный exim для этих делов и создавать почтовые ящики в ISPManager, а потом отправлять через SMTP. DKIM не забыть включить еще.