O envio de mensagens a partir da linha de comando no Linux está dando resultados diferentes com o domínio em dois servidores diferentes

3

Configurei o Postfix, assim como todos os arquivos apropriados do servidor para serem iguais em dois servidores diferentes. Eles foram configurados em momentos diferentes, mas os arquivos e as configurações correspondem, então /etc/postfix/main.cf e /etc/hosts , /etc/hostname , /etc/resolv.conf , /etc/mailname e assim por diante são compatíveis.

A parte que é diferente, é que sempre que eu envio e-mails de um deles através da linha de comando usando o comando mail - recebo resultados diferentes de cada unidade e não posso, para minha vida, descobrir o que é diferente ou onde esta 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 após ele. Mas o host principal está deixando-o nu e, por causa disso, está usando a variável myorigin que defini no Postfix e está funcionando como pretendido.

Algo não está combinando aqui - como eu disse, todos os meus arquivos são os mesmos, mas apenas para comparação, estou postando meu postconf -n abaixo (é o mesmo em cada host, então não adianta colá-lo duas vezes - Eu os diferenciei 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
    
por Keegan Jacobson 07.10.2015 / 21:27

2 respostas

1

Eu percebi isso. Por alguma razão, parece que meu / etc / mailname não estava sendo processado, mesmo sendo idêntico ao outro servidor - e o arquivo tinha o mesmo MD5sum - que a configuração do Postfix não estava aceitando. Eu também notei que eu estava usando mailutils em um sistema (aquele que não estava funcionando e tinha o Postfix instalado após o fato) e o outro estava usando o bsd-mailx. Eu troquei isso antes de tentar a mudança / etc / mailname, e isso não pareceu fazer diferença, mas pelo que vale a pena estou notando apenas no caso. De qualquer forma eu mudei meu / etc / mailname para um valor falso como teste, então fiz um sudo postfix reload e sudo service postfix restart e então o troquei 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 veja-o, estava funcionando conforme o esperado. Obrigado a todos que ajudaram.

    
por 11.10.2015 / 19:23
0

Raspe isso - eu senti falta do que você disse / etc / mailname no seu post original ... mas eu suponho que o reinício do postfix ainda pode ser relevante.

Verifique o / etc / mailname se você tiver este arquivo no 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 depois de fazer edições em / etc / mailname.

    
por 08.10.2015 / 02:47