Когда я отправляю письмо из командной строки, где оно должно быть? (Я хочу отклонить всю недопустимую почту извне, потому что это спам.) Есть ли способ, чтобы он выдал ошибку, говоря, что пользователь не существует, прежде чем он даже запросит тему?
[root@308321 postfix]# mail notthere
Subject: should bounce
hello?
EOT
Вот почтовый журнал
Oct 26 05:29:23 308321 postfix/pickup[6510]: 72F51D4775: uid=0 from=<root>
Oct 26 05:29:23 308321 postfix/cleanup[6805]: 72F51D4775: message-id=<20121026052923.72F51D4775@mail.domain.com>
Oct 26 05:29:23 308321 postfix/qmgr[6511]: 72F51D4775: from=<root@domain.com>, size=432, nrcpt=1 (queue active)
Oct 26 05:29:23 308321 postfix/virtual[6808]: 72F51D4775: to=<notthere@domain.com>, orig_to=<notthere>, relay=virtual, delay=0.74, delays=0.48/0.01/0/0.25, dsn=5.1.1, status=bounced (unknown user: "notthere@domain.com")
Oct 26 05:29:23 308321 postfix/cleanup[6805]: F277DD4776: message-id=<20121026052923.F277DD4776@mail.domain.com>
Oct 26 05:29:24 308321 postfix/qmgr[6511]: F277DD4776: from=<>, size=2225, nrcpt=1 (queue active)
Oct 26 05:29:24 308321 postfix/bounce[6809]: 72F51D4775: sender non-delivery notification: F277DD4776
Oct 26 05:29:24 308321 postfix/qmgr[6511]: 72F51D4775: removed
Oct 26 05:29:24 308321 postfix/virtual[6808]: F277DD4776: to=<root@domain.com>, relay=virtual, delay=0.56, delays=0.22/0/0/0.35, dsn=5.1.1, status=bounced (unknown user: "root@domain.com")
Oct 26 05:29:24 308321 postfix/qmgr[6511]: F277DD4776: removed
Письмо отклоняется, как только проверяется получатель. Если вы действительно хотите увидеть, когда именно сервер отклонит его, попробуйте использовать
telnet server 25
а не почтовая программа.
http://james.apache.org/server/rfclist/smtp/rfc0821.txt Здесь вы узнаете, как это сделать.
И тут (http://wiki.centos.org/HowTos/postfix_restrictions) вы можете узнать, в какой точке postfix проверяет различные установленные вами ограничения.