Conclusão do endereço de entrega local do postfix

3

Eu tenho uma configuração de servidor de e-mail responsável por vários usuários e domínios virtuais. Esses e-mails são entregues na caixa de correio respectiva.

Mas não consigo que a entrega local de contas do sistema (raiz, http, ...) funcione. Este é o meu arquivo de alias:

root:           <local_user>
<local_user>:   <[email protected]>

MAILER-DAEMON:  postmaster
postmaster:     root

bin:            root
daemon:         root
named:          root
nobody:         root
uucp:           root
www:            root
ftp-bugs:       root
postfix:        root
http:           root

Esta é a parte relevante de /etc/postfix/main.cf :

alias_database = $alias_maps
alias_maps = hash:/etc/postfix/aliases
append_dot_mydomain = no
html_directory = no
inet_protocols = ipv4
mail_owner = postfix
mailq_path = /usr/bin/mailq
manpage_directory = /usr/share/man
mydestination = localhost.$mydomain, localhost, localhost.localdomain
mydomain = <mydomain.org>
myhostname = <myhost.mydomain.org>
mynetworks_style = host
myorigin = $mydomain
sendmail_path = /usr/sbin/sendmail
setgid_group = postdrop
unknown_local_recipient_reject_code = 550
virtual_alias_maps = hash:/etc/postfix/virtual
virtual_gid_maps = static:5000
virtual_mailbox_base = /home/vmail
virtual_mailbox_domains = <mydomain.org mydomain2.org mydomain3.org ...>
virtual_mailbox_maps = hash:/etc/postfix/vmailbox

Valores em < ... > são obviamente marcadores de posição.

Quando eu envio localmente um email para root . O postfix conclui o endereço para [email protected], que ele deseja entregar via virtual , mas é claro que [email protected] não é um endereço virtual válido (e não deveria ser).

Funcionaria se o endereço fosse concluído para root@localhost para entrega local. Mas ao enviar e-mails.

Como eu conseguiria isso? Ou o que mais devo fazer para que a entrega local funcione? Obrigado pela sua ajuda.

/ e: adicionou mydomain = <mydomain.org> acima da saída de configuração, porque isso não era óbvio.

    
por BubuIIC 03.06.2013 / 18:24

3 respostas

1

Tente adicionar à sua definição mydestination

mydestination = localhost.$mydomain, localhost, localhost.localdomain, <mydomain.org>

Ou altere o email para ir para root @ localhost.

Eu parei de usar a conta local para qualquer e-mail e todas as contas do sistema foram configuradas como domínios virtuais. Em seguida, posso executar o email para o sistema usando o mesmo conjunto de ferramentas que faço para os domínios virtuais (e o email é armazenado no mesmo local).

Não tenho certeza se sua configuração atual bloqueará o e-mail para o root que vem de fora da caixa. Você pode querer testar isso.

    
por 07.06.2013 / 02:31
1

Por padrão, o postfix adicionará $myorigin sempre que a parte do destinatário não tiver um domínio válido. Esse comportamento foi controlado pelo parâmetro append_dot_mydomain (padrão: yes). Você pode ler alguns esquemas de reescrita que o postfix faz em esta página .

Como myorigin foi definido como $ mydomain, você tem o comportamento descrito acima

When I locally send a mail to root. Postfix completes the address to [email protected], which it then wants to deliver via virtual but of course [email protected] is not a valid virtual address (and it should not be).

Solução

Altere o myorigin para localhost.$mydomain . Ele definirá o endereço de conclusão como localhost.$mydomain . Como localhost. $ Mydomain foi definido em mydestination , o postfix usará / etc / aliases para executar o aliasing.

por 01.12.2014 / 06:38
0

Uma solução é simplesmente adicionar o domínio virtual (geralmente o nome de host completo) e as definições de caixa de correio virtual para todas as contas locais que você deseja permitir o envio de mensagens.

    
por 03.06.2013 / 18:31

Tags