O envio de e-mail da linha de comando no Linux está dando resultados diferentes com o domínio em dois servidores diferentes

O envio de e-mail da linha de comando no Linux está dando resultados diferentes com o domínio em dois servidores diferentes

Eu configurei o Postfix, bem como todos os arquivos do servidor apropriados, para serem iguais em dois servidores diferentes. Eles foram configurados em momentos diferentes - mas os arquivos e as configurações correspondem, assim /etc/postfix/main.cfcomo /etc/hosts, /etc/hostname, /etc/resolv.conf, /etc/mailnamee assim por diante, todos coincidem.

A parte diferente é que sempre que envio e-mail de um deles através da linha de comando usando o comando mail - obtenho resultados diferentes de cada unidade e não consigo descobrir o que é diferente ou onde isso variável está sendo extraída do comando mail.

  • Host 1 (de /var/log/mail.log):uid=1000 from=<operations>

  • Host 2 (de /var/log/mail.log):uid=1000 [email protected]

Por alguma razão, o segundo host está anexando o nome do host depois dele. Mas o host superior está deixando-o vazio e, por isso, está usando a variável myorigin que defini no Postfix e está funcionando conforme o esperado.

Algo não está combinando aqui - como eu disse, todos os meus arquivos são iguais, mas apenas para efeito de comparação, estou postando meu postconf -n abaixo (é o mesmo em cada host, então não faz sentido colá-lo duas vezes - eu tenho diferenciou-os com o Notepad++).

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
inet_interfaces = all
inet_protocols = all
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
mydestination = mail.example.com, localhost.localdomain, localhost
myhostname = mail.example.com
mynetworks = 10.0.0.0/8 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
readme_directory = no
recipient_delimiter = +
relayhost = smtp-relay.gmail.com
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes

Responder1

Eu descobri. Por alguma razão, parece que meu /etc/mailname não estava sendo processado, mesmo sendo idêntico ao outro servidor - e o arquivo ainda tinha o mesmo MD5sum - a configuração do Postfix não estava aceitando. Também percebi que estava usando mailutils em um sistema (aquele que não estava funcionando e tinha o Postfix instalado posteriormente) e o outro estava usando bsd-mailx. Troquei isso antes de tentar a alteração de /etc/mailname e não pareceu fazer diferença, mas vale a pena, estou anotando isso por precaução. De qualquer forma, mudei meu /etc/mailname para um valor falso como test, depois fiz um sudo postfix reload e sudo service postfix restart e depois mudei de volta para o que eu pretendia que fosse (contoso.com) seguido pelos mesmos dois comandos para atualize a configuração e o serviço e eis que estava funcionando conforme o esperado. Obrigado a todos que ajudaram.

Responder2

Raspe isso - não percebi que você disse /etc/mailname em sua postagem original ... mas suponho que a reinicialização do postfix ainda possa ser relevante.


Verifique /etc/mailname se você possui esse arquivo em seu sistema. Isso afetará seu nome de e-mail de saída.

root@purgatory:/home/me# cat /etc/hostname
purgatory.corp
root@purgatory:/home/me# cat /etc/mailname
aaaaaapurgatory.corp

postfix/qmgr[33605]: C8FEF2461048: from=<[email protected]>, size=367, nrcpt=1 (queue active)

Certifique-se de reiniciar o postfix após fazer edições em /etc/mailname.

informação relacionada