Recipient address rejected: User unknown; | Postfix
Немного нестандартная ситуация с ошибкой почтовика Recipient address rejected: User unknown;
Во время переноса сервера сложилась следующая ситуация – часть доменов со старого почтовика я перенёс на новый (на обоих почтовиках аутентификация через базу mysql).
Используя postfixadmin удалил со старого почтовика домены, но суть в том что из базы записи о доменах в таблицах остались. По этой причине получил ошибку Recipient address rejected: User unknown;
Получилась такая ситуация.
Создаем на новом сервере учётную запись типа user@new-server.ru
Настраиваем в почтовом клиенте учётную запись – user@new-server.ru
Пытаемся отправить письмо с ящика user@old-server.ru на ящик user@new-server.ru
user@new-server.ru – это учётная запись на новом сервере (домен который мы перенесли на новый сервак)
user@old-server.ru – это любой ящик на старом серваке.
Получаем ошибку Recipient address rejected в клиенте при отправке и смотрим логи:
Jul 9 14:54:22 cat postfix/smtpd[41616]: NOQUEUE: reject: RCPT from new-server.ru
[13.5.3.137]: 550 <user@new-server.ru>: Recipient address rejected: User unknown;
from=<user@old-server.ru> to=<user@new-server.ru> proto=ESMTP helo=<[172.16.7.245]>
Получается что учётной записи на новом сервере якобы нет. На самом деле получалось следующее – старый почтовый сервер принимал сообщение для отправки, смотрел куда письмо, находил у себя в таблице доменов домен который мы переносили на новый сервак и запись о котором postfixadmin не удалил и пытался переслать письмо используя локальный транспорт. отсюда и ошибка о том что адрес не найден – действительно ящик мы создавали на новом серваке, на старом такого ящика конечно нет.
Решаем проблему. Заходим в mysql на старом серваке смотрим таблицу доменов.
#mysql -u user -p
mysql>use postfix
mysql> select * from domain;
+---------------+-------------------+---------+-----------+----------+-----------+----------+---------------------+---------------------+--------+
| domain | description | aliases | mailboxes | maxquota | transport | backupmx | created | modified | active |
+---------------+-------------------+---------+-----------+----------+-----------+----------+---------------------+---------------------+--------+
| domain.ru | some domain | 0 | 0 | 0 | virtual | 0 | 2006-03-12 12:23:58 | 2006-03-12 12:23:58 | 1 |
| somedomain.ru | home | 0 | 0 | 0 | virtual | 0 | 2006-03-12 12:24:23 | 2006-03-12 12:24:23 | 1 |
| old-server.ru | old domain | 0 | 0 | 0 | virtual | 0 | 2006-04-04 07:18:54 | 2006-04-04 07:18:54 | 1 |
| new-server.ru | new domain | -1 | -1 | 0 | | 0 | 2006-04-05 17:18:06 | 2010-05-13 14:09:57 | 0 |
+---------------+-------------------+---------+-----------+----------+-----------+----------+---------------------+---------------------+--------+
4 rows in set (0.00 sec)
Удаляем запись о перенесенном домене:
mysql> delete from domain where domain = 'new-server.ru';
Query OK, 1 row affected (0.03 sec)
Проверяем что всё ок. Записи в базе нет, письма уходят.