Ви меня убиваете. А вы собираетесь получать почту для данного домена со стороны? Или просто об этом не думали? Помимо того, все отлупы по умолчанию даются после RCPT TO (sic!!)
smtp сессия, примерно:
$ telnet mypost.ru 25
Trying xxx.xxx...
Connected to mypost.ru
Escape character is '^]'.
220 xx.xx ESMTP Postfix (3.1415926)
HELO mail.ru
250 mypost.ru
MAIL FROM:<somebody@mail.ru>
250 2.1.0 Ok
И вот тут если указать чужой домен, то без аторизации он пойдет в сад:
А если указать ящик в вашем домене mypost.ru, то он должен принять.
Если не хотите принимать почту на данный домен извне вобще, пусть он у вас слушает только локальный интерфейс или используйте client_access_check, как то так.
#telnet mx.pochta.ru 25
Trying 82.204.219.220...
Connected to mx.pochta.ru.
Escape character is '^]'.
220 mx5.ks.pochta.ru
HELO mymail.ru
250 OK
MAIL FROM:<mail@mymail.ru>
250 OK
RCPT TO: xxxx@pochta.ru
250 OK
DATA
354 Start mail input; end with <CRLF>.<CRLF>
FROM:<dead_kenny@pochta.ru>
TO: xxxx@pochta.ru
SUBJECT: kenny alive!
test delivery
.
250 OK id=15158176-1206525403.89718
QUIT
221 bye
Connection closed by foreign host.
> В mynetworks оставить только 127.0.0.0/8
Спасибо так авторизация заработала! Но теперь действительно "из вне" почта не идет :(
laptop:~# telnet 80.80.80.80 25
Trying 80.80.80.80...
Connected to 80.80.80.80.
Escape character is '^]'.
220 proxy ESMTP Postfix (Debian/GNU)
ehlo test.ru
250-proxy
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
mail from:<mail@mail.ru>
250 2.1.0 Ok
rcpt to:<test2@test.ru>
554 5.7.1 <test2@test.ru>: Recipient address rejected: Access denied
Конекчусь "из вне"
Escape character is '^]'.
220 proxy ESMTP Postfix (Debian/GNU)
ehlo test.ru
250-proxy
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
mail from:<mail@mail.ru>
250 2.1.0 Ok
rcpt to:<test@test.ru>
554 5.7.1 <test@test.ru>: Recipient address rejected: Access denied
В логах mysql:
080326 22:34:21 9 Connect postfix@localhost on postfix
9 Query SELECT goto FROM alias WHERE address = 'mail.ru'
10 Connect postfix@localhost on postfix
10 Query SELECT domain FROM domain WHERE domain = 'mail.ru' AND backupmx = '0' AND active = '1'
080326 22:35:21 10 Quit
9 Quit
080326 22:37:37 11 Connect postfix@localhost on postfix
11 Query SELECT goto FROM alias WHERE address = 'test.ru'
12 Connect postfix@localhost on postfix
12 Query SELECT domain FROM domain WHERE domain = 'test.ru' AND backupmx = '0' AND active = '1'
Сам проделал все запросы есть ответ только на последний:
mysql> SELECT domain FROM domain WHERE domain = 'test.ru' AND backupmx = '0' AND active = '1';
+---------+
| domain |
+---------+
| test.ru |
+---------+
1 row in set (0.00 sec)
Я не очень внимательно смотрел ваш конфигурационый файл, но в общем случае постфикс должен знать, что пользователь, которому вы перенаправляете письмо - существует. И при необходимости дать отлуп, если такого пользователя нет.
// Сейчас посмотрел чуть внимательнее, вместо reject в конце smtpd_recipient_restrictions должно стоять
permit.По этой причине Access Denied,а по причине того, что у вас там нет reject_unlisted_recipient запрос в mysql и не проскакивал.