Das Senden von E-Mails über die Befehlszeile unter Linux führt zu unterschiedlichen Ergebnissen, wenn sich die Domäne auf zwei verschiedenen Servern befindet

Das Senden von E-Mails über die Befehlszeile unter Linux führt zu unterschiedlichen Ergebnissen, wenn sich die Domäne auf zwei verschiedenen Servern befindet

Ich habe Postfix sowie alle entsprechenden Serverdateien so konfiguriert, dass sie auf zwei verschiedenen Servern gleich sind. Diese wurden zu unterschiedlichen Zeiten konfiguriert - aber die Dateien und Einstellungen stimmen überein, sodass /etc/postfix/main.cfauch die /etc/hosts, /etc/hostname, /etc/resolv.conf, /etc/mailname, usw. alle übereinstimmen.

Der Unterschied besteht darin, dass ich jedes Mal, wenn ich von einem dieser Geräte über die Befehlszeile mit dem Mail-Befehl E-Mails versende, von jeder Einheit andere Ergebnisse erhalte und beim besten Willen nicht herausfinden kann, was anders ist oder woher diese Variable aus dem Mail-Befehl stammt.

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

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

Aus irgendeinem Grund hängt der zweite Host den Hostnamen dahinter an. Aber der oberste Host lässt ihn leer und verwendet deshalb die myorigin-Variable, die ich in Postfix festgelegt habe, und funktioniert wie vorgesehen.

Irgendetwas stimmt hier nicht – wie gesagt, alle meine Dateien sind gleich, aber nur zum Vergleich poste ich unten mein Postconf -n (es ist auf allen Hosts gleich, also macht es keinen Sinn, es zweimal einzufügen – ich habe sie mit Notepad++ verglichen).

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

Antwort1

Ich habe es herausgefunden. Aus irgendeinem Grund scheint mein /etc/mailname nicht verarbeitet worden zu sein, obwohl es mit dem des anderen Servers identisch war – und die Datei sogar dieselbe MD5-Summe hatte – die Postfix-Konfiguration hat es nicht akzeptiert. Mir ist auch aufgefallen, dass ich auf einem System (dem, das nicht funktionierte und auf dem Postfix nachträglich installiert wurde) mailutils verwendet habe und auf dem anderen bsd-mailx. Ich habe dies ausgetauscht, bevor ich versucht habe, /etc/mailname zu ändern, und es schien keinen Unterschied zu machen, aber ich erwähne es nur für den Fall. Jedenfalls habe ich meinen /etc/mailname in einen falschen Wert wie test geändert, dann ein sudo postfix reload und sudo service postfix restart ausgeführt und es dann wieder auf den beabsichtigten Wert (contoso.com) zurückgesetzt, gefolgt von denselben beiden Befehlen zum Aktualisieren der Konfiguration und des Dienstes, und siehe da, es funktionierte wie beabsichtigt. Danke an alle, die geholfen haben.

Antwort2

Vergessen Sie das – ich habe übersehen, dass Sie in Ihrem ursprünglichen Beitrag /etc/mailname erwähnt haben … aber ich nehme an, dass der Neustart von Postfix dennoch relevant sein könnte.


Überprüfen Sie /etc/mailname, wenn Sie diese Datei auf Ihrem System haben. Dies wirkt sich auf den Namen Ihrer ausgehenden E-Mails aus.

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)

Denken Sie daran, Postfix neu zu starten, nachdem Sie Änderungen an /etc/mailname vorgenommen haben.

verwandte Informationen