Postfix / Dovecot - Múltiplos Domínios e Múltiplas Contas Linux

3

Eu tenho tentado configurar um novo servidor de e-mail para migrar do meu VPS, pois meu host decidiu fechar suas portas. O servidor antigo estava executando o Exim / Courier (quase uma década atrás, neste momento) e tenho a impressão de que o Postfix / Dovecot seria mais simples de configurar. Eu não tive muita sorte, no entanto.

O que estou procurando configurar:

  • Postfix
  • Dovecot
  • Formato do Maildir
  • Múltiplos domínios
  • Várias contas
  • ClamAV
  • SpamAssassin

Estou usando o Amavis para amarrar o ClamAV e o SpamAssassin juntos.

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:

[email protected]        userTwo
[email protected]             userTwo

[email protected]      userOne
[email protected]           userOne

[email protected]      userOne
[email protected]           userOne
[email protected]            userThree
[email protected]            userTwo

Ao enviar e-mails de [email protected] para [email protected]:

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=<[email protected]>
Aug  3 20:04:55 example postfix/qmgr[25311]: 8D70441402: from=<[email protected]>, 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=<[email protected]>
Aug  3 20:04:56 example postfix/qmgr[25311]: 72CE941403: from=<[email protected]>, 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] <[email protected]> -> <[email protected]>, Queue-ID: 8D70441402, Message-ID: <[email protected]>, mail_id: QciSwqBl84A4, Hits: 1.439, size: 583, queued_as: 72CE941403, 838 ms

Aug  3 20:04:56 example postfix/smtp[25430]: 8D70441402: to=<[email protected]>, orig_to=<[email protected]>, 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=<[email protected]>: saved mail to INBOX
Aug  3 20:04:56 example postfix/local[25377]: 72CE941403: to=<[email protected]>, 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

Eu censurei meu IP e hostname. Agora, observe a linha no meio, onde diz orig_to. Quando eu recebo o email, está na caixa SENT do [email protected]. O que é estranho, não? SMTP de [email protected] para [email protected] funciona bem.

Eu encontrei uma outra pergunta que combina com isso:

Postfix: virtual_alias_maps fornecendo tudo para um usuário apesar do novo domínio

Infelizmente, não entendi a resposta e não acredito que nossas configurações sejam idênticas.

Então, estou pensando que isso tem a ver com meu destino e meu uso de mapas virtuais ... mas não tenho certeza de como defini meu destino e domínios virtuais, se o que eu fiz até agora não t trabalho.

Estou procurando uma resposta para essa pergunta aparentemente fácil há muito tempo, e estou ficando sem soluções para tentar. Não quero que o Google execute meu e-mail e gostaria que ele fosse executado neste VPS.

Qualquer ajuda seria muito apreciada. Obrigado.

    
por Mookman288 04.08.2015 / 02:25

1 resposta

1

Acredito que resolvi esse problema e espero que isso sirva como ajuda para outras pessoas que encontrarem esse problema. Um pouco desapontado por não haver muita ajuda aqui, mas acho que o ato de escrevê-lo pode ter ajudado. De qualquer forma:

Em main.cf , as variáveis myorigin e mydestination precisam ser definidas como localhost. Então:

myorigin = localhost
mydestination = localhost

Em vez de usar mydestination para manipular a atribuição de domínio, a mudança para o mapeamento de domínio virtual permite que os usuários virtuais recebam as mensagens de que precisam.

virtual_alias_domains = hash:/etc/postfix/domains

O que significa que também precisamos formatar corretamente o arquivo /etc/postfix/domains :

example.org    #
example.com    #

Os comentários simplesmente preenchem o formato de hash, nada mais. Um postmap será necessário também neste arquivo:

postmap /etc/postfix/domains

Deve ser isso. Todas as contas individuais encaminharão o e-mail para os endereços apropriados do Unix, depois que a pesquisa por domínios virtuais for concluída.

Eu ainda não tenho ideia do que "expandir" para um usuário é, ou o que foi postado pelo outro indivíduo que teve problemas, mas parece irrelevante para esse problema específico.

Espero que isso ajude alguém como eu.

EDIT: também remova tudo em /etc/aliases .

    
por 11.08.2015 / 21:50