- Отправка почты заблокирована, как разблокировать
- Разблокировка почты через файл mail.log
- Как включить лог сообщений phpmail
- На виртуальном хостинге
- На VPS
- Возможные проблемы при работе с почтой REG.RU
- Не отправляется почта на ящики @mail.ru
- Письма не приходят только на почтовый ящик на домене
- Не отправляется вся почта через phpmail
- Не уходит почта через sendmail
- Не работает входящая почта
- Проверка MX-записей
- Настройки функции mail в PHP. Почему не работает mail в PHP?
- Лирическое отступление
- Настройка mail в PHP
- Особенности использования mail в PHP
Отправка почты заблокирована, как разблокировать
Важно: в бесплатный тестовый период хостинга можно отправлять только 10 писем в сутки. В противном случае отправка почты будет заблокирована.
В некоторых случаях почта блокируется из-за заражения сайта. Чтобы восстановить работу сайта используйте инструкцию: Что делать, если сайт заражен?
Если вы получили уведомление о наличии вредоносного ПО на вашем хостинге и у вас заблокирована отправка почты, для разблокировки выполните следующие действия:
Проверьте ваш сайт на наличие вирусов и удалите найденное вредоносное ПО по инструкции: Как проверить сайт на вирусы?
Если антивирусная проверка показала заражение в установленных плагинах/темах/шаблонах CMS — обновите используемую CMS до последней стабильной версии, а также все подключенные расширения и плагины. Рекомендуем использовать только официальные расширения CMS.
На данном шаге вы также можете восстановить сайт из резервной копии: Бэкапы Максимальный срок хранения резервных копий — 30 дней.
Авторизуйтесь на сайте REG.RU и перейдите к списку услуг.
Кликните по названию услуги хостинга. В информационном блоке нажмите кнопку Что это, и как снять блокировку:
- На открывшейся странице нажмите Снять блокировку:
Внимание: снятие блокировки доступно 1 раз в 48 часов.
Готово. Обновите страницу браузера.
Чтобы снять блокировку почты, удалите из файла php.ini следующую строку: disable_functions= mail. Для этого используйте инструкцию: Как изменить параметры PHP?
Важно: информация о блокировке почты в Личном кабинете REG.RU обновляется раз в сутки. Сразу после удаления disable_functions= mail уведомление не пропадёт, однако работоспособность почты будет восстановлена.
При блокировке почты на VPS-сервере обратитесь в техническую поддержку хостинга.
Разблокировка почты через файл mail.log
Также вы можете устранить проблему с помощью файла mail.log. В этом файле логируются сообщения, посылаемые PHP-скриптами. Чаще всего нежелательные письма рассылаются PHP-скриптами через функцию php-mail. Для снятия блокировки откройте файл mail.log в панели управления.
Файл mail.log находится:
- ISPmanager: Менеджер файлов–mail.log;
- Parallels Plesk: Корневая папка — logs — mail.log;
- cPanel: Диспетчер файлов — logs — mail.log.
Проверьте список скриптов и удалите спам-скрипты. Важно: не удаляйте из панели управления сам файл mail.log, этот файл является журналом и хранит информацию об отправке писем скриптами средствами phpmail.
Если файла mail.log не существует, вы можете настроить логирование сообщений самостоятельно по инструкции: Как включить лог сообщений phpmail?
Если вы столкнулись с ошибкой Sender rate overlimit следуйте нашим рекомендациям в статье: Ошибка Sender rate overlimit.
Источник
Как включить лог сообщений phpmail
На виртуальном хостинге
- чаще всего лог phpmail включают для определения источника рассылки спама;
- данная инструкция применима только к hosting linux;
- mail.log работает только на версии PHP 5.3 и выше.
Для активации лога необходимо в файл php.ini вставить следующие строки:
Путь до каталога хостинга имеет вид:
- ISPmanager: /var/www/u1234567/data/
- ParallelsPlesk: /var/www/vhosts/u1234567.plsk.regruhosting.ru/
- cPanel: /var/www/u1234567/
Где u1234567 — ваш логин хостинга.
Готово, вы включили логирование сообщений.
На VPS
В папке сайта создайте файл info.php и запишите в него следующие строки:
Перейдите по адресу ваш_сайт/info.php
Вы можете добавить логирование почты только для конкретного сайта или для всех сайтов на сервере.
- чтобы добавить настройки для одного сайта, необходимо внести записи в файл, путь к которому указан в «Loaded Configuration File», в нашем примере это /var/www/php-bin/user_name/php.ini
- чтобы добавить настройки для всех сайтов на сервере, необходимо внести записи в файл php.ini, путь к которому указан в строке «Configuration File (php.ini) Path». В нашем примере путь до общего файла php.ini выглядит так: /opt/php/5.3/etc/php.ini
для логирования сообщений добавьте ниже следующий код в конец файла php.ini.
/var/tmp/php.mail.log — это файл, в который будет записываться лог отправки сообщений посредством php mail. Права на данный файл должны разрешать запись в него. Вы можете дать права на запись через панель ISPmanager, или через SSH, при помощи команды:
Перезапустите сервер Apache, для этого выполните команду:
- CentOS: service httpd restart ;
- Debian, Ubuntu: service apache2 restart .
Источник
Возможные проблемы при работе с почтой REG.RU
При отправке почты с сайта могут наблюдаться следующие проблемы:
- не отправляется почта на ящики @mail.ru;
- письма не приходят только на почтовый ящик на домене;
- не отправляется вся почта через phpmail;
- не уходит почта через sendmail.
Ниже приведено решение каждой из проблем.
Не отправляется почта на ящики @mail.ru
Система mail.ru не принимает сообщения, отправленные через phpmail, если в почтовых заголовках числится ящик, принадлежащий mail.ru (это ящики @mail.ru @bk.ru @list.ru @inbox.ru).
Найдите строку вида:
В данной строке вместо «e-mail@mail.ru» укажите почтовый ящик, не относящийся к доменам mail.ru, inbox.ru, list.ru, bk.ru.
Желательно указать почтовый ящик на вашем домене, например, «webmaster@domain.ru», где domain.ru — ваш домен.
Если рекомендации не помогли, вам необходимо проверить заголовки генерируемого сообщения. Возможно, почтовый ящик (@mail.ru @bk.ru @list.ru @inbox.ru) прописан в поле «From», для этого необходимо проверить скрипт отправки сообщений.
Также рекомендуем обратиться к разработчику вашего сайта.
Письма не приходят только на почтовый ящик на домене
Проблема может наблюдаться когда на домене настроена сторонняя почта (Yandex, GoogleApps..), а в панели управления все еще активирована локальная почта.
В этом случае проблему решит отключение локальной маршрутизации почты. Делается это в панели управления хостингом:
Перейдите в раздел «Почтовые домены», выделите строку с названием вашего домена и нажмите Удалить:
В разделе «Электронная почта» выберите Маршрутизация электронной почты:
В выпадающем списке выберите необходимый домен и в блоке «Маршрутизация электронной почты» отметьте пункт Удаленный почтовый обменник:
На вкладке «Почта» перейдите в раздел Настройки почты и кликните по имени необходимого домена:
В открывшемся окне снимите галочку с «Активировать почтовую службу на этом домене» и нажмите Применить:
Готово. Отключение локальной маршрутизации почты решит проблему.
Не отправляется вся почта через phpmail
Проверьте, возможно ваш тарифный план «Host-Lite». На данном тарифе нет поддержки PHP, следовательно отправка сообщений с сайта посредством phpmail работать не будет. Узнать тарифный план можно на странице со списком услуг. Чтобы у вас появилась возможность отправки почты при помощи php, просто повысьте тарифный план: Как повысить тарифный план хостинга.
В других случаях, вероятнее всего, для вашей услуги хостинга заблокирована отправка сообщений через phpmail. Пожалуйста, выполните рекомендации следующего раздела справки: Отправка почты заблокирована
Не уходит почта через sendmail
Чаще всего проблема связана с тем, что в настройках sendmail указывается стандартный (25) порт, для которого заблокированы исходящие соединения на всех серверах виртуального хостинга REG.RU.
Для решения проблемы необходимо указать 587 порт в настройках sendmail, при этом используйте TLS-шифрование.
Источник
Не работает входящая почта
Основная причина проблемы со входящей почтой — неверная настройка MX-записей . Чтобы решить проблему, проверьте, совпадают ли ваши MX-записи с теми, которые нужны для работы используемой почты. Если записи отличаются, повторите настройку почты. Рассмотрим действия подробнее.
Проверка MX-записей
Чтобы проверить MX-записи, перейдите в раздел «Проверка DNS-записей». Введите имя вашего домена, в выпадающем списке выберите тип записи «MX» и нажмите Проверить:
Ниже будет выведен список ресурсных записей, которые прописаны для вашего домена. Сверьте их с теми, которые должны быть прописаны для используемого почтового сервиса:
| Услуга | MX-записи |
|---|---|
| Почта REG.RU | mx1.hosting.reg.ru и mx2.hosting.reg.ru |
| Яндекс.Почта | mx.yandex.net |
| Mail.RU для бизнеса | emx.mail.ru |
| Почта Google Workspace |
|
| Расширенная защита от спама | mxs1.reg.ru и mxs2.reg.ru |
Если записи отличаются, повторите настройку используемой почты по инструкции:
После изменения записей MX дождитесь, пока они обновятся. Обычно это происходит в течение 1-2 часов.
Если для вашего типа почты прописаны верные MX-записи, обратитесь в службу технической поддержки.
Источник
Настройки функции mail в PHP. Почему не работает mail в PHP?
Какой бы интернет-проект на PHP вы не сделали, на нём должна быть форма обратной связи, что особенно актуально для проектов коммерческого направления. А значит, вам не обойтись без функции mail . Что же, давайте посмотрим, как использовать эту функцию для отправки сообщений.
Лирическое отступление
Прежде чем двигаться дальше, давайте немного вспомним теорию. Во-первых, чтобы отправлять письма нам потребуется SMTP-сервер . Но это не проблема, т. к. он есть практически на всех современных платных хостингах. Во-вторых, для приёма писем нам понадобится POP-сервер . В-третьих, следует понимать, что сам по себе PHP не отправляет сообщение, а лишь передаёт команды приложению sendmail — именно оно занимается отправкой, следовательно, его нужно иметь (если используете Денвер, то данное приложение уже встроено). В-четвёртых, все сообщения помещаются в директорию под названием «tmp/!sendmail».
Настройка mail в PHP
Настройка функции mail в PHP выполняется в конфигурационном файле php.ini . В этом файле нужно прописать путь к лог-файлам, а также задать значения порта.
Mail принимает 5 аргументов, три из которых являются обязательными, вот они:
1) адрес отправителя;
2) текст сообщения;
Если вы являетесь веб-мастером и используете Денвер, то информация, которая будет вами отправлена, сохранится на виртуальном диске Z в папке «tmp!sendmail».
Особенности использования mail в PHP
Работа функции mail в PHP зависит от ряда нюансов, включая вид операционной системы, выполненные настройки и параметры. Вот некоторые особенности:
— во время отправки письма заголовок Form задаётся через необязательный параметр «additional_headers». Если его нет, нередко возникает ошибка при отправлении;
— заголовки разделяйте символами перевода на новую строку и перевода каретки (\r\n);
— следите, чтобы длина строки не превышала 70 знаков, для регулировки тоже используйте (\r\n).
Источник