Постфикс, имя хоста и/etc/aliases

После наличия роют в течение многих часов на SF/таким образом и погуглил много, я все еще не могу выяснить, как/etc/aliases используется постфиксом.

  1. Я использую сервер Amazon Linux EC2 (вид Centos6)
  2. Мое имя хоста сервера установлено на srv.example.com
  3. У меня есть постфикс установки 2.6.6 с конфигурацией пустого клиента (только, чтобы отправить письма за моим веб-сайтом и отправить отчеты моей персональной почте)
  4. Я настроил /etc/aliases с правилами включая root: mymail@gmail.com
  5. Я работаю newaliases принять во внимание изменения в /etc/aliases
  6. Я перезапустил постфикс sudo service postfix restart
  7. echo "something" | mailx -s D"subject" root отправляет почту в root@example.com вместо mymail@gmail.com

Я проследил это в /var/log/maillog :

Mar 13 17:21:23 srv postfix/smtpd[14462]: A27B540A87: client=localhost[127.0.0.1]
Mar 13 17:21:23 srv postfix/cleanup[14466]: A27B540A87: message-id=<55031c93.Il7wUJmrkLu/WLNL%srv@example.com>
Mar 13 17:21:23 srv opendkim[2065]: A27B540A87: DKIM-Signature field added (s=prod-key-swf, d=example.com)
Mar 13 17:21:23 srv postfix/qmgr[14458]: A27B540A87: from=<srv@example.com>, size=820, nrcpt=1 (queue active)
Mar 13 17:21:23 srv sendmail[14461]: t2DHLNlC014461: to=root, ctladdr=srv@example.com (serveur srv) (500/500), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30309, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (Ok: queued as A27B540A87)
Mar 13 17:21:25 srv postfix/smtp[14467]: A27B540A87: to=<root@srv.example.com>, relay=aspmx.l.google.com[64.233.186.27]:25, delay=2, delays=0.1/0.01/1.4/0.48, dsn=5.1.1, status=bounced (host aspmx.l.google.com[64.233.186.27] said: 550-5.1.1 The email account that you tried to reach does not exist. Please try 550-5.1.1 double-checking the recipient's email address for typos or 550-5.1.1 unnecessary spaces. Learn more at 550 5.1.1 http://support.google.com/mail/bin/answer.py?answer=6596 f78si2479139qkh.47 - gsmtp (in reply to RCPT TO command))
Mar 13 17:21:26 srv postfix/bounce[14468]: A27B540A87: sender non-delivery notification: 2297E40A86
Mar 13 17:21:26 srv postfix/qmgr[14458]: A27B540A87: removed

Мои единственные постфиксные модификации конфигурации (конфигурация пустого клиента):

  • myhostname = srv.example.com
  • myorigin = $mydomain
  • relayhost = $mydomain
  • inet_interfaces = loopback-only
  • mydestination =

Какой шаг я пропускаю, чтобы иметь/etc/aliases операторы, примененные как ожидалось?

Мой sudo postconf -n:

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
html_directory = no
inet_interfaces = loopback-only
inet_protocols = all
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
milter_default_action = accept
mydestination =
myhostname = srv.example.com
myorigin = $mydomain
newaliases_path = /usr/bin/newaliases.postfix
non_smtpd_milters = $smtpd_milters
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES
relayhost = $mydomain
sample_directory = /usr/share/doc/postfix-2.6.6/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtpd_milters = inet:127.0.0.1:8891
unknown_local_recipient_reject_code = 550
2
задан 14 March 2015 в 23:04
1 ответ

После того, как я понял, что "нулевой клиент" - это нулевой клиент , я нашел немного больше, чтобы понять постфиксный виртуальный домен как.

В двух словах

  1. Нулевой клиент идеально подходит для почтового сервера "send only" (который нужен для моего сайта)
  2. Настройка "нулевого клиента" требует определения myorigin для имени хоста сервера
  3. myorigin также указывает имя домена по умолчанию, которое добавляется к адресам получателей, не имеющих @доменной части (взято из /et/postfix/main. cf).
  4. Postfix не будет использовать мой /etc/aliases для маршрутизации моей локальной почты, как моей почты в root / fail2ban / me . ... будет переписано на root@srv.example.com / fail2ban@srv.example.com ...
  5. ... Затем мне нужно переписать постфикс xxx@srv.example.com на mymail@gmail.com
  6. Добавить @srv. example.com mymail@gmail.com в /etc/postfix/canonical
  7. Add canonical_maps = hash:/etc/postfix/canonical в /etc/postfix/main. cf
  8. Выполните postmap /etc/postfix/canonical и перезапустите postfix (sudo service postfix restart)

Перезапись локальной почты с помощью regex

Я пошел немного дальше, чтобы сохранить информацию об исходном целевом пользователе. Для этого можно использовать регулярное выражение :

  • В /etc/postfix/main. cf, вместо canonical_maps = hash:/etc/postfix/canonical, используйте canonical_maps = regexp:/etc/postfix/canonical
  • В /etc/postfix/canonical, вместо @srv. example.com mymail@gmail.com, я использовал (.+)@(.+).example.com mymail+$1.$2@gmail.com для получения почты на mymail+fail2ban.srv@gmail.com (позже у меня будут srv2, srv3, srvx...)

Я слишком рано попросил помощи, надеюсь, этот ответ поможет другим застрявшим с той же проблемой.

.
4
ответ дан 3 December 2019 в 10:02

Теги

Похожие вопросы