O postfix envia para o nome de host do FQDN em vez do nome de domínio

4

Eu instalei um postfix somente de envio. O postfix funciona quando eu envio um email para um endereço de email completo. No entanto, se um email for enviado para um usuário, ele adicionará o nome do FQDN como a extensão, em vez de apenas o nome de domínio que eu configurei durante a instalação.

Por exemplo, quando eu envio um e-mail do ssh assim:

echo "This will go into the body of the mail." | mail -s "Hello world" root

Eu quero que o email vá para [email protected] . Mas o email é enviado para [email protected] .

Eu revi minhas configurações de host, configurações de nome de e-mail, configurações de postfix e não faço ideia do motivo pelo qual ele continua adicionando o nome completo do host a ele, o que obviamente está sendo devolvido. Aqui estão meus arquivos de configuração:

Postfix main.cf:

# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = no

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

myhostname = host.example.com.au
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination =
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only

virtual_alias_maps = hash:/etc/postfix/virtual

Aliases:

mailer-daemon: postmaster
postmaster: root
nobody: root
hostmaster: root
usenet: root
news: root
webmaster: root
www: root
ftp: root
abuse: root
noc: root
security: root

/ etc / postfix / virtual:

root            [email protected]

/ etc / mailname:

example.com.au

/ etc / hosts:

127.0.0.1       localhost
11x.0.0.xxx   host.example.com.au    host

/ etc / hostname

host

Eu revi tudo e não tenho a menor idéia de por que o e-mail é enviado para @host.example.com.au . Alguém pode me ajudar aqui por favor?

Eu estou no debian 8.

EDITAR: Só agora, tentei adicionar mais uma configuração ao arquivo main.cf: masquerade_domains = $mydomain . Adicionar isso parece corrigir o endereço from para mostrar meu nome de domínio em vez de nome de host, mas ainda assim, o endereço to ainda está tendo o nome FQDN. Estou recebendo a notificação de e-mail devolvido "Mail Delivery System" no meu endereço de e-mail porque o e-mail de origem está correto após adicionar o masquerade_domains , mas ainda não entendi porque o e-mail do usuário não está respeitando o mesmo e to endereço ainda é endereçado como [email protected] em vez de [email protected] .

myhostname = host.example.com.au
mydomain = example.com.au
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = $mydomain
masquerade_domains = $mydomain
mydestination =
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
    
por Neel 06.01.2016 / 09:58

3 respostas

2

Finalmente consegui trabalhar. Estes são os passos que fiz para resolver o meu problema:

1) mydestination:

Como eu tinha um servidor de email somente para envio, deixei o arquivo mydestination in main.cf vazio, de acordo com a página do manual do postfix. No entanto, fazer acabou tendo o comportamento acima foram os e-mails locais são enviados com hostname acrescentado que estava sendo devolvido. Por isso, adicionei $hostname e localhost como mydestination em main.cf da seguinte forma:

mydestination = $myhostname, localhost

2) aliases:

Em seguida, adicionei o endereço de e-mail para o usuário root em /etc/aliases da seguinte forma:

root: [email protected]

3) newaliases:

Por fim, reconstruo aliases e recarreguei o postfix

sudo newaliases
sudo service postfix reload

O que foi:

Como os aliases são usados apenas para entrega local e eu não tenho entrega local (o que significa que $ mydestination está vazio), ter o endereço de e-mail raiz nos aliases não fez nenhuma diferença. Agora, depois de adicionar o $hostname ao meu destino, todos os e-mails enviados a um usuário que está sendo anexado com $hostname estão sendo escolhidos como $mydestination , que se refere a aliases , que diz ao postfix para enviar esse e-mail para outro endereço de e-mail.

O que eu ainda não entendo é por que o postfix estava ignorando o $domainname como myorigin e continuar adicionando hostname sufixo ao usuário ainda é um mistério. No entanto, o método acima parece ser a solução quando o postfix é inflexível para adicionar hostname a todos os e-mails endereçados diretamente ao usuário.

Espero que isso ajude!

    
por 08.01.2016 / 22:02
3

Você precisa colocar um alias para root no arquivo /etc/aliases , como abaixo, e depois executar newaliases e ele deve funcionar.

root: [email protected]

Eu testei e funciona.

    
por 08.01.2016 / 14:39
0

Você pode dar uma chance e tentar adicionar o example.com.au ao seu arquivo hosts? Referência: link

    
por 08.01.2016 / 20:03