Если есть показатели рассылки спама с выделенного сервера или VPS, необходимо в быстром порядке диагностировать и заблокировать электронную почту, чтобы не допустить блокировку порта и /или IP-адреса.
Порядок выполнения команды в терминале (требуется доступ по SSH):
Для просмотра последних исходящих писем:
exim -bp
Для получения данных о количестве писем в очереди:
exim -bpc
Для просмотра списка отправляемых писем с ID:
mailq
После отображения результатов работы команды mailq нужно открыть список и просмотреть на адреса не вызывающие подозрение. Для каждого письма присваивается личный идентификатор, используя который у Вас будет возможность применить следующую команду для просмотра деталей:
postcat -vq ID_письма |more
В информации о письме Вам следует отыскать строку X-PHP-Originating-Script, где будет указан скрипт, отправивший спам. Скрипт необходимо заблокировать (установить права доступа 000) и проверить на наличие вирусов, или, если он содержит только вредоносный код, полностью удалить.
Если строка X-PHP-Originating-Script была не найдена, Вам необходимо протестировать корректность работы учетной записи администратора в почтовом веб-клиенте (например, roundcube). Чтобы произвести эту операцию Вам необходимо войти на сервер mysql как root (это можно сделать через интерфейс phpMyAdmin) и удалить все учетные записи вызывающие подозрение в базе данных roundcube в таблице пользователей.
Кроме того, следует изменить пароль активного почтового ящика, чтобы избежать рассылки спама прямо с адреса электронной почты, доступного на сервере.
Затем следует очистить очередь почты. Очистить все freezed сообщения из очереди:
exipick -zi | xargs exim -Mrm
Очистить стандартные сообщения из очереди:
exipick -i | xargs exim -Mrm
После внесения изменений нужно перезапустить сервер, чтобы они стали активными.
Дальше используйте следующую команду, чтобы снова проверить письма:
Узнать количество писем в очереди:
exim -bpc
В случае не выявления подозрительных сообщений в списке, проблема со спамом решена.