Обратите внимание! Недорогие виртуальные серверы в Амстердаме (Нидерланды). Оплата в рублях картами банков РФ, СБП, электронными деньгами. Подробнее.

Проверка работы почтового сервера Exim на примере CentOS

Опубликовано: 3 апреля 2019
Раздел(ы): Домены и хостинг
Просмотры: 2899
Комментарии: 0

Я написал небольшую шпаргалку по основным командам как проверить работу почтового сервера EXIM. Как правило он не доставляет проблем и поэтому со временем забываешь как им пользоваться и попадаешь в ступор при возникновении недоразумений с доставкой почты.

Как проверить работу почтового сервера на PHP

Для проверки работы почтового сервера я использую следующий PHP скрипт:

<?php

$testemaillist = array(
'mail1@domain1.tld',
'mail2@domain2.tld',
'mail3@domain3.tld',
'mail4@domain4.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) и затем запустите в окне браузера (http://mydomain.tld/testmail.php).

При успешной работе скрипта вы увидите в окне браузера список email адресов куда сервер попытается доставить почту. Далее вам нужно будет проверить указанные в скрипте почтовые ящики, чтобы убедиться что письма пришли.

Как проверить работу почтового сервера Exim из командной строки

Если кто-то вас уверяет, что сервер ничего не отправляет, то проверьте его его работу прямо из консоли:

# echo "test" | mail -s 'test message' mail@domain.tld

где mail@domain.tld адрес электронный почты, на который вы хотите отправить проверочное сообщение.

Если при этом вы получили сообщение об ошибке:

# echo "test" | mail -s 'test message' mail@msn.com
-bash: mail: command not found

То установите mailx (пример для CentOS):

# yum install mailx

Команды для работы с очередью сообщений в Exim

Проверить количество сообщений в очереди:

exim -bpc 

Получить список сообщений в очереди:

exim -bp

Просмотреть тело сообщения с конкретным ID:

exim -Mvb email-id

Удалить все «замороженные» сообщения из очереди:

exipick -zi | xargs exim -Mrm

Полностью очистить очередь сообщений (удалить все неотправленные сообщения):

exipick -i | xargs exim -Mrm 

Благодарности

При написании статьи были использованы следующие источники:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить" Вы даёте свое согласие на обработку введенной персональной информации в соответствии с Федеральным Законом №152-ФЗ от 27.07.2006 "О персональных данных", на условиях и для целей определенных политикой конфиденциальности сайта.
© Юрий Рассадников, 2011 - 2024
uptime узнать
Домен : reg.ru
Хостинг : adman.com
SQL - 9 | 0,331 сек. | 9.43 МБ