postfix usa hostname em vez de myhostname

5

Estou tentando configurar um servidor de e-mail de saída para o envio de e-mails, que deve ser enviado ao nosso provedor de serviços de Internet.

No /etc/postfix/main.cf eu tenho myhostname para ourcompany.example.com e myorigin e mydomain para $ myhostname. ourcompany.example.com é resolúvel.

Mas, olhando os logs em / var / log / maillog, parece que o postfix usa myhostname para o endereço de envio, mas usa o que quer que seja de getmyhostname (), que é definido como um nome DNS interno, pois é um servidor interno. e só enviamos e-mails, mas não manipulamos e-mails recebidos.

Alguma idéia?

EDIT: 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 = localhost
inet_protocols = all
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination = $myhostname, localhost.$mydomain, localhost
mydomain = example.com
myhostname = ourcompany.example.com
myorigin = $mydomain
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.6.5/README_FILES
relayhost = smtp.grapevine.com.au
sample_directory = /usr/share/doc/postfix-2.6.5/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
unknown_local_recipient_reject_code = 550

Onde tanto a nossaempresa.exemplo.com como o exemplo.com são domínios públicos podem ser resolvidos por qualquer pessoa, portanto, devem ser resolvidos pelo meu ISP. O problema não é o domínio, mas o fato de que o postfix não está usando, estou recebendo logs como:

May 26 10:23:22 localhost postfix/smtp[3910]: 449AF5803F6: to=<[email protected]>, relay=smtp.grapevine.com.au[203.129.32.140]:25, delay=63275, delays=63274/0.02/0.04/0.4, dsn=4.1.8, status=deferred (host smtp.grapevine.com.au[203.129.32.140] said: 450 4.1.8 <[email protected]>: Sender address rejected: Domain not found (in reply to RCPT TO command))

Ele está usando server.internal em vez de $ myorigin, e server.internal é o que você recebe ao chamar gethostname (), e é um nome de host interno e não pode ser resolvido na internet pública.

Então, minha pergunta é: como definir o postfix para usar example.com em vez de usar gethostname ()? Meu pensamento era que gethostname () é usado apenas quando eu deixo myorigin, mydomain e myhostname vazios, mas defini-los para a configuração acima não faz nada.

    
por sunny.oxide 25.05.2010 / 10:28

2 respostas

5

mydomain = example.com
myorigin = $mydomain

Por padrão, a opção append_at_myorigin está definida como sim , o que significa que todo e qualquer email de saída que não tenha nenhum componente de domínio terá o valor de myorigin anexado.

No seu caso, esse é o nome do domínio e não o nome do host.

Sempre envie e-mails usando endereços totalmente qualificados, ou seja, contendo uma parte local e uma parte válida de domínio / nome de host.

Se, por algum motivo, você não puder, use um dos métodos descritos no Readme Rewriting Readme

    
por 25.10.2011 / 13:17
0

conecte-se ao seu servidor com o telnet na porta 25, você verá uma string que definitivamente diz se ele está realmente usando myhostname.

Suspeito que você simplesmente não definiu o endereço mascarado corretamente.

    
por 24.07.2011 / 00:31