Всем привет!
Поставил Postfix+Procmail+popa3d. Настроил. Внутри доменов почта бегает пока на ура. Наружу тоже. Но вот снаружи почта не приходит. DNS виден, MX запись есть. Что за глюк? Может, ткнёте, что в конфиге неверно?
main.cf:
command_directory = /usr/local/sbin
daemon_directory = /usr/local/libexec/postfix
mailq_path = /usr/local/bin/mailq
manpage_directory = /usr/local/man
newaliases_path = /usr/local/bin/newaliases
queue_directory = /var/spool/postfix
sample_directory = /usr/local/etc/postfix
sendmail_path = /usr/local/sbin/sendmail
mail_spool_directory = /var/mail
mailbox_command = /usr/local/bin/procmail
mail_owner = postfix
soft_bounce = no
myhostname = mail.xxx.ru
mydomain = xxx.ru
myorigin = $mydomain
inet_interfaces = 123.4.567.889, localhost
mydestination = $mydomain, abc1.ru, abc2.ru, abc3.ru, abc4.ru, abc5.ru, localhost
relay_domains = $mydestination
local_recipient_maps = $alias_maps unix:passwd.byname
recipient_delimiter = +
debug_peer_level = 2
mynetworks_style = subnet
mynetworks = 123.4.567.888/27, 127.0.0.0/8alias_maps = hash:/etc/aliases
alias_database = hash:/etc/mail/aliasesunknown_local_recipient_reject_code = 550
setgid_group = maildrop
html_directory = no
readme_directory = no
#masquerade_domains = $mydomain
smtpd_sender_restrictions =
permit_mynetworks,
reject_non_fqdn_sender,
reject_unknown_sender_domain
smtpd_helo_restrictions =
permit_mynetworks,
reject_non_fqdn_hostname,
reject_invalid_hostname
smtpd_require_helo = yes
smtpd_banner = $myhostname ESMTP
virtual_mailbox_base = /var/spool/postfix
virtual_mailbox_maps = hash:/usr/local/etc/postfix/virtual
virtual_mailbox_domains = abc1.ru, abc2.ru, abc3.ru, abc4.ru, abc5.ru, abc6.ru
virtual_alias_maps = hash:/usr/local/etc/postfix/virtual
virtual_uid_maps = static:1003
virtual_gid_maps = static:1003PS еще вылезает, что aliases.db older than aliases. newaliases не вылечила. как быть?
всем спасибо
Что значит не приходит? В логах это видно? Кто сидит на 110 порту?По PS - # postmap aliases
>Что значит не приходит? В логах это видно? Кто сидит на 110
>порту?
>
>По PS - # postmap aliasesВот просто не приходит. Извне пробовал, вообще даже телнет не коннектится. Присоединиться можно только из той же подсетки. В логах, ессно, пусто. На 110 сидит inetd, запускающий popa3d.
Postmap ругается на файл - record is in "key: value" format. Что неверно? Внутри файла всё в таком формате.
VIRTUAL_README
...
NEVER list a virtual MAILBOX domain name as a mydestination domain!
...
>VIRTUAL_README
>...
> NEVER list a virtual MAILBOX domain name as
>a mydestination domain!
>...по-всякому пробовал. но почему тогда почта не приходит даже на $domain?
1. Определитесь, где Вы будете указывать домены (в mydestination или virtual_mailbox_domains).
2.
>alias_maps = hash:/etc/aliases
>alias_database = hash:/etc/mail/aliases
Правильно так
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
или где у Вас файл aliases.
3.
>virtual_mailbox_maps = hash:/usr/local/etc/postfix/virtual
>virtual_alias_maps = hash:/usr/local/etc/postfix/virtual
Почему указывают на один и тот же файл? Разницу понимаете между этими параметрами?
4. Проверьте, запущен ли postfix. На каком tcp-сокете "висит" (адрес/порт)? Файервол не блокирует?
5. Что в файле master.cf?
>1. Определитесь, где Вы будете указывать домены (в mydestination или virtual_mailbox_domains).
а в чем принципиальное отличие?
>2.
>>alias_maps = hash:/etc/aliases
>>alias_database = hash:/etc/mail/aliases
>Правильно так
>alias_maps = hash:/etc/aliases
>alias_database = hash:/etc/aliases
>или где у Вас файл aliases.
все так. только когда делаю postmap /etc/aliases - выдает ошибки.
>3.
>>virtual_mailbox_maps = hash:/usr/local/etc/postfix/virtual
>>virtual_alias_maps = hash:/usr/local/etc/postfix/virtual
>Почему указывают на один и тот же файл? Разницу понимаете между этими
>параметрами?
разницу, честно говоря, не совсем понимаю. подозреваю, что второй файл не нужен, если у меня несколько доменов для отдельных юзерей.
>4. Проверьте, запущен ли postfix. На каком tcp-сокете "висит" (адрес/порт)? Файервол не
>блокирует?
запущен. на сокете висит. фаер не блокирует.
>5. Что в файле master.cf?
smtp inet n - n - - smtpd
pickup fifo n - n 60 1 pickup
cleanup unix n - n - 0 cleanup
qmgr fifo n - n 300 1 qmgr
tlsmgr unix - - n 1000? 1 tlsmgr
rewrite unix - - n - - trivial-rewrite
bounce unix - - n - 0 bounce
defer unix - - n - 0 bounce
trace unix - - n - 0 bounce
verify unix - - n - 1 verify
flush unix n - n 1000? 0 flush
proxymap unix - - n - - proxymap
smtp unix - - n - - smtp
relay unix - - n - - smtp
-o fallback_relay=
showq unix n - n - - showq
error unix - - n - - error
discard unix - - n - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - n - - lmtp
anvil unix - - n - 1 anvil
scache unix - - n - 1 scache
maildrop unix - n n - - pipe
flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
old-cyrus unix - n n - - pipe
flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}
cyrus unix - n n - - pipe
user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}
uucp unix - n n - - pipe
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
ifmail unix - n n - - pipe
flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix - n n - - pipe
flags=Fq. user=foo argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient
>а в чем принципиальное отличие?
Читайте доки.
>все так. только когда делаю postmap /etc/aliases - выдает ошибки.
Что так? Посмотрите в начале треда, что Вы написали в main.cf:
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/mail/aliases
>разницу, честно говоря, не совсем понимаю. подозреваю, что второй файл не нужен,
>если у меня несколько доменов для отдельных юзерей.
Читайте доки.
>Вот просто не приходит. Извне пробовал, вообще даже телнет не коннектится. Присоединиться
>можно только из той же подсетки. В логах, ессно, пусто. На
>110 сидит inetd, запускающий popa3d.
>
>Postmap ругается на файл - record is in "key: value" format. Что
>неверно? Внутри файла всё в таком формате.
Простите спорол хрень.
Что отдает телнет на 25 порту извне?Из алиасов я бы оставил только alias_maps = hash:/etc/aliases
В алиасах должны быть записи вида
alias: login
или
alias: login1 login2 login3да и еще
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/mail/aliases
virtual_alias_maps = hash:/usr/local/etc/postfix/virtualмасло масленое. ты уж определись где у тебя алиасы.
Если хочешь скажи свой адресс я тебе скажу лог моего почтаря при попытке к тебе отправить. Вобще что говорит при отправке с другого сервера.
#nmap твой внешний ип -- открыт 25 порт?попробуй
inet_interfaces = all
>Из алиасов я бы оставил только alias_maps = hash:/etc/aliases
>В алиасах должны быть записи вида
>alias: login
>или
>alias: login1 login2 login3
Обязательно нужен параметр alias_database.
man 5 postconf
...
alias_database (default: see "postconf -d" output)
The alias databases for local(8) delivery that are updated with "newaliases" or with "sendmail -bi".
This is a separate configuration parameter because not all the tables specified with $alias_maps have to be local files.
...
>да и еще
>
>alias_maps = hash:/etc/aliases
>alias_database = hash:/etc/mail/aliases
>virtual_alias_maps = hash:/usr/local/etc/postfix/virtual
>
>масло масленое. ты уж определись где у тебя алиасы.
Ничего здесь "масленного" нет. alias_maps для доменов из mydestination. virtual_alias_maps для доменов из virtual_alias_domains и virtual_mailbox_domains.
>попробуй
>inet_interfaces = all
Я спрашивал автора, на каком сокете (ip/tcp-port) "висит" postfix. Но для него этого, похоже, темный лес. Скорее всего smtpd работает только на локальном интерфейсе.