Если не работает отправка почты с сайта, в первую очередь проверьте настройки вашего сервера.
Когда вы берете в работе VPS или выделенный сервер часто может возникнуть проблема того, что отправляемая вами почта через Exim не работает. Я пару раз тоже столкнулся с этой проблемой. И начал искать решение, так как взаимодействие всех сайтов зачастую строится на отправке почты. Это у меня редкая проблема но она бывает и надо было решить. Итак для начала делаю диагностику того что происходит с почтой в целом.
Проверяю активных отправителей нет ли где спам источника ярого
1 |
exim -bp | awk '{print $4}' | sort | uniq -c | sort -rn |
Далее очищаю от спам замороженных сообщений
Просмотр замороженных сообщений
1 |
# exiqgrep -z |
Подсчет замороженных сообщеий
1 2 3 |
# exiqgrep -zc # exim -q -v |
Запуск очереди только для локальных доставок:
1 |
# exim -ql -v |
Удалить сообщение из очереди:
1 |
# exim –Mrm <ID-сообщения> |
Удалить все заблокированные сообщения из очереди:
1 |
# exipick -zi | xargs exim -Mrm |
Удалить все сообщения из очереди:
1 |
# exipick -i | xargs exim -Mrm |
Или
1 |
# exim -bpr | awk {'print $3'} | xargs exim -Mrm |
Удалить все заблокированные сообщения:
1 |
# exiqgrep -z -i | xargs exim –Mrm |
Теперь вы можете заметить проблему ошибки отправки, которая будет вот такой
and retry time not reached
Здесь мы видим что база сбилась и её надо исправить, заходим по пути /var/spool/exim/db и удаляем имеющиеся там файлы: retry , retry.lockfile , wait-remote_smtp , wait-remote_smtp.lockfile
Теперь снова запускаем
1 |
# exim -ql -v |
И смотрим как почта начинает работать правильно.