Постфикс/Голубятня - Несколько Доменов и Несколько Учетных записей Linux

Я пытался установить новый почтовый сервер для миграции от моего VPS, поскольку мой хост решил закрыть свои двери. Старый сервер выполнял Exim/Courier (почти десятилетие, старое в этой точке), и у меня создается впечатление, что Постфикс/Голубятня был бы более прост установить. У меня не было так большой удачи, все же.

Что я надеюсь устанавливать:

  • Постфикс
  • Голубятня
  • Формат Maildir
  • Несколько доменов
  • Несколько учетных записей
  • ClamAV
  • SpamAssassin

Я использовал Amavis для связывания ClamAV и SpamAssassin.

postconf-n:

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
content_filter = smtp-amavis:[127.0.0.1]:10024
home_mailbox = Maildir/
inet_interfaces = all
mailbox_command = /usr/lib/dovecot/deliver
mailbox_size_limit = 0
milter_default_action = accept
mydestination = localhost, /etc/postfix/domains
myhostname = example.org
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
readme_directory = no
recipient_delimiter = +
relayhost =
smtp_tls_security_level = may
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
smtpd_client_restrictions = reject_unknown_client_hostname, permit_sasl_authenticated
smtpd_data_restrictions = reject_unauth_pipelining
smtpd_helo_required = yes
smtpd_helo_restrictions = reject_invalid_helo_hostname, reject_non_fqdn_helo_hostname
smtpd_recipient_restrictions = permit_mynetworks, reject_unknown_recipient_domain, reject_unauth_pipelining, permit_sasl_authenticated, reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_path = private/auth
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_sender_restrictions = reject_unknown_sender_domain
smtpd_tls_auth_only = yes
smtpd_tls_cert_file = /etc/postfix/.pem
smtpd_tls_key_file = /etc/postfix/.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
virtual_alias_maps = hash:/etc/postfix/virtual

/etc/postfix/domains:

lorem.com
example.org
website.net

/etc/postfix/virtual:

postmaster@lorem.com        userTwo
ipsum@lorem.com             userTwo

postmaster@example.org      userOne
steve@example.org           userOne

postmaster@website.net      userOne
steve@website.net           userOne
mike@website.net            userThree
mary@website.net            userTwo

При отправке почты от steve@example.org до mike@website.net:

mail.log, mail.err:

Aug  3 20:04:55 example postfix/submission/smtpd[25424]: connect from my-hostname[68.xxx.xxx.xxx]
Aug  3 20:04:55 example postfix/submission/smtpd[25424]: 8D70441402: client=my-hostname[68.xxx.xxx.xxx], sasl_method=PLAIN, sasl_username=userOne
Aug  3 20:04:55 example postfix/cleanup[25429]: 8D70441402: message-id=<55C001A5.9020907@example.org>
Aug  3 20:04:55 example postfix/qmgr[25311]: 8D70441402: from=<steve@example.org>, size=583, nrcpt=1 (queue active)
Aug  3 20:04:55 example postfix/submission/smtpd[25424]: disconnect from my-hostname[68.xxx.xxx.xxx]
Aug  3 20:04:56 example postfix/smtpd[25434]: connect from localhost[127.0.0.1]
Aug  3 20:04:56 example postfix/smtpd[25434]: 72CE941403: client=localhost[127.0.0.1]
Aug  3 20:04:56 example postfix/cleanup[25429]: 72CE941403: message-id=<55C001A5.9020907@example.org>
Aug  3 20:04:56 example postfix/qmgr[25311]: 72CE941403: from=<steve@example.org>, size=991, nrcpt=1 (queue active)
Aug  3 20:04:56 example postfix/smtpd[25434]: disconnect from localhost[127.0.0.1]
Aug  3 20:04:56 example amavis[5148]: (05148-07) Passed CLEAN {RelayedInbound}, [68.xxx.xxx.xxx]:52874 [68.xxx.xxx.xxx] <steve@example.org> -> <steve@example.org>, Queue-ID: 8D70441402, Message-ID: <55C001A5.9020907@example.org>, mail_id: QciSwqBl84A4, Hits: 1.439, size: 583, queued_as: 72CE941403, 838 ms

Aug  3 20:04:56 example postfix/smtp[25430]: 8D70441402: to=<steve@example.org>, orig_to=<mike@website.net>, relay=127.0.0.1[127.0.0.1]:10024, delay=1, delays=0.13/0.01/0.01/0.84, dsn=2.0.0, status=sent (250 2.0.0 from MTA(smtp:[127.0.0.1]:10025): 250 2.0.0 Ok: queued as 72CE941403)

Aug  3 20:04:56 example postfix/qmgr[25311]: 8D70441402: removed
Aug  3 20:04:56 example dovecot: lda(steve): msgid=<55C001A5.9020907@example.org>: saved mail to INBOX
Aug  3 20:04:56 example postfix/local[25377]: 72CE941403: to=<steve@example.org>, relay=local, delay=0.12, delays=0.01/0/0/0.1, dsn=2.0.0, status=sent (delivered to command: /usr/lib/dovecot/deliver)
Aug  3 20:04:56 example postfix/qmgr[25311]: 72CE941403: removed

Я подверг цензуре свой IP и имя хоста. Теперь, обратите внимание, что строка в середине, где она говорит orig_to. Когда я получаю электронное письмо, это находится в поле SENT steve@example.org. Который является странным, нет? SMTP от mike@website.net до steve@example.org хорошо работает.

Я нашел еще один вопрос, который соответствует этому:

Постфикс: virtual_alias_maps поставляя все одному пользователю несмотря на новый домен

К сожалению, я не понимаю ответ, и я не полагаю, что наши установки идентичны.

Таким образом, я думаю, что это имеет отношение к mydestination и и мое использование виртуальных карт..., но я не совсем уверен, как я установил свои целевые и виртуальные домены, если то, что я сделал до сих пор, не работает.

Я искал ответ на этот на вид легкий вопрос в течение очень долгого времени, и у меня заканчиваются решения попробовать. Я не хочу иметь Google, выполняет мою почту, и я действительно хотел бы иметь его, работает на этом VPS.

Любая справка значительно ценилась бы.Спасибо.

3
задан 13 April 2017 в 15:14
1 ответ

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

В main.cf, переменные myorigin и mydestination должны быть установлены в localhost. Итак:

myorigin = localhost
mydestination = localhost

Вместо того, чтобы использовать mydestination для обработки назначения домена, переход на виртуальное отображение домена позволяет виртуальным пользователям получать почту, которая им нужна.

virtual_alias_domains = hash:/etc/postfix/domains

Что означает, что нам также необходимо правильно отформатировать файл /etc/postfix/domains:

example.org    #
example.com    #

Комментарии просто выполняют хэш-формат, не более того. В этом файле также понадобится postmap:

postmap /etc/postfix/domains

Это должно быть так. После просмотра виртуальных доменов все отдельные учётные записи будут маршрутизировать электронную почту на нужные unix-адреса.

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

Надеюсь, это поможет кому-нибудь еще вроде меня.

EDIT: Также удалите все в /etc/aliases.

.
2
ответ дан 3 December 2019 в 06:59

Теги

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