Проверка работы почтового сервера Exim
Exim — это MTA ( Mail Transfer Agent ), агент передачи сообщений, в просторечии - почтовик или почтовый сервер, использующийся в операционных системах Linux, FreeBSD. Exim, весьма распространен и в некоторых операционных системах является почтовым сервером по умолчанию.
PHP скрипт для проверки работоспособности почтового сервера:
<?php $testemaillist = array( 'mail1@domain1.tld', 'mail2@domain2.tld', 'mail5@domain5.tld' ); for ($i=0; $i < count($testemaillist); $i++) { if (mail("$testemaillist[$i]", "Test email for $testemaillist[$i]", "Test email for $testemaillist[$i] \n To be, or not to be, \n that is the question")) { echo "Sent - $testemaillist[$i]<br>"; } else { echo "Error - $testemaillist[$i]<br>"; } } ?>
Этот скрипт попытается отправить проверочное письмо по списку адресов из массива. Измените этот список на почтовые ящики к которым у вас есть доступ и сохраните скрипт в каком-нибудь PHP файле у себя на сайте (например testmail.php) и затем запустите в окне браузера (https://mydomain.tld/testmail.php).
При успешной работе скрипта вы увидите в окне браузера список email адресов куда сервер попытается доставить почту. Далее вам нужно будет проверить указанные в скрипте почтовые ящики, чтобы убедиться что письма пришли.
Проверка Exim из командной строки
Идентификаторы сообщений в очередях Exim, представляют из себя буквенно-цифровые последовательности в верхнем и нижнем регистрах: XXXXXX-YYYYYY-ZZ и используются большинством команд администрирования очереди и логирования в Exim. Для каждого сообщения создаются три файла в spool директории ( зачастую это: /var/spool ). Если вы работает с данными файлами вручную, без использования описанных ниже команд и утилит, убедитесь что обработали все три файла, например, не оставив в очереди exim только один из них, удалив остальные. Каталог /var/spool/exim/msglog содержит файлы со служебной информацией для каждого сообщения и именуются в соответствии с ID этого сообщения. Каталог /var/spool/exim/input содержат файлы заголовков и данных, к ID сообщения в имени, добавлены суффиксы -H и -D, соответственно. Кроме того в этих директориях могут появляться хэшированные подкаталоги для работы с большими почтовыми очередями.
- Проверяем сервер на отправку почты из консоли:
# echo "test" | mail -s 'test message' email@example.com
где email@example.com адрес электронный почты, на который вы хотите отправить проверочное сообщение.
- Опция -bt запускает exim в режиме тестирования адресов, в котором каждый параметр берётся как адрес, который будет тестироваться на доставку. Результаты пишутся на стандартный вывод. Если тест неудачен, и вызывающий - не административный пользователь, детали о ошибке не выводятся, поскольку они могут содержать секретную информацию, типа имён пользователей и паролей для поиска в БД.
exim -bt -d test@dieg.info
- Проверить количество сообщений в очереди:
exim -bpc
- Получить список сообщений в очереди:
exim -bp
- Просмотреть тело сообщения с конкретным ID:
exim -Mvb email-id
- Удалить все «замороженные» сообщения из очереди:
exipick -zi | xargs exim -Mrm
- Полностью очистить очередь сообщений (удалить все неотправленные сообщения):
exipick -i | xargs exim -Mrm
Как посмотреть логи Exim?
Логи Exim находятся в каталоге /var/log/exim , чаще всего интересует файл mainlog (в нем хранятся все события почтовой службы), еще есть panic.log (там находятся сообщения об ошибках). У Dovecot же логи, как правило, пишутся в файл /var/log/maillog или /var/log/mail.
Утилиты Exim
- exiwhat - список, что делают процессы exim`a
- exiqgrep - выбор из очереди
- exiqsumm - суммирование очереди
- exigrep - поиск по главному логу
- exipick - выбор сообщений по различным критериям
- exicyclog - ротация лог-файлов
- eximstats - выбор статистики из логов
- exim_checkaccess - проверка приёма адреса с данного IP
- exim_dbmbuild - сборка файла DBM
- exinext - извлечение информации повторов отсылки почты, удобно смотреть почему почта не отправляется. Пример использования
exinext user@example.com
xinext можно указать только локальную часть, без домена, и он выдаст любую информацию повторов для этой локальной части, в вашем дефолтовом домене.
- exim_dumpdb - дамб БД подсказок
- exim_tidydb - очистка БД подсказок
- exim_fixdb - правка БД подсказок
- exim_lock - блокировка файла почтового ящика (mailbox)
- Утилита, которая могла бы использоваться на сайтах с многими MTA - exilog Tom Kistner's. Она обеспечивает визуализацию логов от многих серверов exim`a.
📌 Для тестирования скриптов, установщиков VPN, Python ботов рекомендуем использовать надежные VPS на короткий срок. Если вам нужна помощь с более сложными задачами, вы можете найти фрилансера, который поможет с настройкой. Узнайте больше о быстрой аренде VPS для экспериментов и о фриланс-бирже для настройки VPS, WordPress. 📌
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!
7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Китайский VPN Shadowsocks простая установка и настройка
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах