Enviar correo desde la línea de comandos en Linux da resultados diferentes con el dominio en dos servidores diferentes

Enviar correo desde la línea de comandos en Linux da resultados diferentes con el dominio en dos servidores diferentes

He configurado Postfix, así como todos los archivos del servidor apropiados para que sean iguales en dos servidores diferentes. Estos se configuraron en diferentes momentos, pero los archivos y las configuraciones coinciden, por lo que /etc/postfix/main.cf, /etc/hosts, /etc/hostname, /etc/resolv.confetc. /etc/mailnamecoinciden.

La parte que es diferente es que cada vez que envío correo desde uno de ellos a través de la línea de comando usando el comando de correo, obtengo resultados diferentes de cada unidad y no puedo ni por mi vida descubrir qué es diferente o dónde está. La variable se está extrayendo del comando de correo.

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

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

Por alguna razón, el segundo host agrega el nombre de host después. Pero el host superior lo deja al descubierto y por eso está usando la variable myorigin que configuré en Postfix y está funcionando según lo previsto.

Algo no coincide aquí, como dije, todos mis archivos son iguales, pero solo para comparar, estoy publicando mi postconf -n a continuación (es el mismo en cada host, por lo que no tiene sentido pegarlo dos veces; tengo los diferenció con 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

Respuesta1

Me lo imaginé. Por alguna razón, parece que mi /etc/mailname no se estaba procesando, a pesar de que era idéntico al otro servidor (y el archivo incluso tenía el mismo MD5sum), la configuración de Postfix no lo aceptaba. También noté que estaba usando mailutils en un sistema (el que no funcionaba y tenía Postfix instalado después del hecho) y el otro estaba usando bsd-mailx. Cambié esto antes de intentar el cambio de /etc/mailname y no pareció hacer ninguna diferencia, pero por si sirve de algo, lo anoto por si acaso. De todos modos, cambié mi /etc/mailname a un valor falso como test, luego realicé una recarga de sudo postfix y un reinicio de sudo service postfix y luego lo cambié de nuevo a lo que pretendía que fuera (contoso.com) seguido de los mismos dos comandos para Actualice la configuración y el servicio, y he aquí que estaba funcionando según lo previsto. Gracias a todos los que ayudaron.

Respuesta2

Tacha eso: me perdí que dijiste /etc/mailname en tu publicación original... pero supongo que el reinicio de postfix aún puede ser relevante.


Verifique /etc/mailname si tiene este archivo en su sistema. Eso afectará su nombre de correo saliente.

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)

Asegúrese de reiniciar postfix después de realizar modificaciones en /etc/mailname.

información relacionada