Stoppen Sie das Senden lokaler E-Mails an den Relay-Host mit Postfix


8

Ich habe mich kürzlich bei SMTP2GO (smtpcorp) angemeldet. Ich habe Postfix auf einem der EC2-Server eingerichtet und auf mein smtp2go-Konto verwiesen:

relayhost = [smtpcorp.com]:2525

Jetzt werden alle meine E-Mails über SMTP2GO weitergeleitet. Das Problem ist jedoch, dass die über 1000 E-Mails, die von cron job ect generiert werden, unter der folgenden E-Mail-Adresse an SMTP2GO gesendet werden:

root@ec2-46-51-151-256.eu-west-1.compute.amazonaws.com

Meine Frage ist, wie ich am besten verhindern kann, dass all diese "lokalen" E-Mails an SMTP2GO weitergeleitet werden.

Vielen Dank

Martin

Meine main.cf:

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no

append_dot_mydomain = no


readme_directory = no

smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache



myhostname = ec2-46-51-151-256.eu-west-1.compute.amazonaws.com

alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname

mydestination = ec2-46-51-151-256.eu-west-1.compute.amazonaws.com, localhost.eu-west-1.compute.internal, localhost

relayhost = [smtpcorp.com]:2525
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = static:account:password
smtp_sasl_security_options = noanonymous
smtp_tls_security_level = may
header_size_limit = 4096000
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = ipv4

Antworten:


7

Postfix Relayhost sendet normalerweise keine lokalen E-Mails an den Relayhost:

Von postfix.org :

Relaishost (Standard: leer)

Das Next-Hop-Ziel für nicht lokale E-Mails. Überschreibt nicht lokale Domänen in Empfängeradressen. Diese Informationen werden mit relay_transport, sender_dependent_default_transport_maps, default_transport, sender_dependent_relayhost_maps und mit der Tabelle transport (5) außer Kraft gesetzt.

Wenn es also passiert, liegt es daran, dass Ihre lokale E-Mail nicht als lokal identifiziert wird. Sie müssen Ihre lokale Domain in die mydestination =Konfigurationszeile aufnehmen. Ich sehe, dass Sie dort die ec2 -... amazonaws.com haben, aber wahrscheinlich haben Sie eine andere lokale Domain als diese für Ihr LAN definiert. Wenn Sie keine lokale Domain definiert haben, sollte dies meiner Meinung nach ausreichen (muss getestet werden), wenn Sie nur 127.0.0.1 localhost.localdomain localhostIhre etc/hostsDatei hinzufügen und hinzufügen .localhost.localdomainmydestination=


1
Ich denke das hat es geschafft! Alles, was ich getan habe, war, die beleidigende Domain zu nehmen und sie an die Domains in "mydestination =" anzuhängen. Jetzt bekomme ich keine "internen" E-Mails mehr, vielen Dank!
user149631

0

Es sendet die Ausgabe von cron usw. gemäß den Standardeinstellungen in Ubuntu an das Root-Konto auf dem Server.

Um alle an diese Adresse gesendeten E-Mails an eine andere Stelle umzuleiten, bearbeiten Sie Ihre Aliase-Datei so, dass sie die folgende Zeile enthält:

enter code hereroot: "me@example.com"

Dann renne newaliases. Dies funktioniert mit Postfix ok.

Alternativ können Sie die Weiterleitung aller E-Mails an root einrichten, ~root/.forwardindem Sie eine Zeile mit der bevorzugten E-Mail-Adresse hinzufügen / bearbeiten und hinzufügen.

Siehe /unix/26666/can-i-change-roots-email-address-or-forward-all-mail-to-an-external-address


Danke dunxd, weißt du, ob es eine Möglichkeit gibt, dass die E-Mails den Server nicht verlassen? Derzeit stammen 90% der ausgehenden E-Mails von Cronjobs. Am liebsten wäre es schön, diese E-Mails im Dateisystem zu speichern und nicht an SMTP2GO weiterzuleiten, danke! Martin
user149631

Sehen Sie, was Laurent gesagt hat - ich habe Ihre Frage falsch verstanden
dunxd
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.