Wie kann ich Postfix erhalten, um E-Mails an verschiedene Relay-Hosts zu senden?

10

Ich führe mehrere Websites auf einem einzigen Server aus. Ich verwende sendgrid, um meine E-Mail zu senden.

Im Moment leite ich alle ausgehenden E-Mails per Postfix an ein einzelnes Sendgrid-Konto weiter und verwende smtp_sasl zur Authentifizierung.

Ich muss in der Lage sein, die E-Mails jeder Domain an ein anderes sendgrid-Konto zu senden. Für domain1.com möchte ich also mit einem Konto an sendgrid weiterleiten, und für domain2.com benötige ich Postfix, um ein anderes Konto zur Authentifizierung zu verwenden.

Joe Van Dyk
quelle
Ich glaube nicht - sie müssen zum selben Host gehen, aber mit unterschiedlicher Authentifizierung.
Joe Van Dyk

Antworten:

10

Es ist eine Schande, dass dieser so lange ohne eine richtige Antwort ging. Und im Übrigen ist es eine Schande, dass Sendgrids eigene Dokumentation dies nicht behandelt. Die erforderlichen Anweisungen werden kurz und bündig unter http://www.postfix.org/SASL_README.html#client_sasl_sender behandelt , die ich hier mit einigen sendgrid-spezifischen Änderungen zitieren werde:

/etc/postfix/main.cf:
    smtp_sender_dependent_authentication = yes
    sender_dependent_relayhost_maps = hash:/etc/postfix/sender_relay
    smtp_sasl_auth_enable = yes
    smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
    relayhost = my.default.relay.com

/etc/postfix/sasl_passwd:
    # Per-sender authentication; see also /etc/postfix/sender_relay.
    @domain1.example.com               username1:password1
    @domain2.example.com               username2:password2
    # Login information for the default relayhost.
    [my.default.relay.com]              username:password
    # Alternative form:
    # [mail.isp.example]:submission username:password

/etc/postfix/sender_relay:
    # Per-sender provider; see also /etc/postfix/sasl_passwd.
    @domain1.example.com               [sendgrid.net]:submission
    @domain2.example.com               [sendgrid.net]:submission

Ein paar Anmerkungen hier.

  1. Mit den obigen Anweisungen wird die SMTP-Envelope-From-Adresse aktiviert, nicht die im MIME-Header.
  2. Es ist schwieriger, Postfix dazu zu bringen, E-Mails auf der Grundlage von MIME-Header-Prüfungen in verschiedene Richtungen zu senden. Ich bin mir sicher, dass es irgendwie möglich ist, aber Postfix ist nicht dafür ausgelegt.
  3. DKIM Es ist egal, ob entweder der SMTP-Umschlag von der Adresse oder der MIME-Header von der Adresse mit der für die DKIM-Signatur verwendeten Domäne übereinstimmt. Es kann sein, dass die Spam-Richtlinien einiger empfangender Server wichtig sind. (Weitere Infos hier sehr geschätzt).
  4. Aufgrund von 1. und 3. müssen Sie möglicherweise überhaupt nicht an separate sendgrid-Unterkonten senden.
mc0e
quelle
Das, was ich in den letzten paar Jahren gemacht habe, hat großartig funktioniert!
Joe Van Dyk
1
@JoeVanDyk Ihr hat diesen Kommentar 2 Jahre nach der Frage gepostet und gesagt, dass Sie dies seit ein paar Jahren tun. Das bedeutet, dass Sie es getan haben, noch bevor Sie die Frage gestellt haben. Warum also fragen?
Barlop
Ich habe die Antwort eine Weile nach dem Posten der Frage gefunden und vergessen, zum Update zurückzukehren.
Joe Van Dyk