Skip to content

GMail als Relay mit Postfix ...

linux Nur, um das mal eben "wegzubloggen" und um es danach vergessen zu können.

Wenn man Monitoring macht, ist es nicht sinnvoll, Mails, die das Monitoring betreffen, über die zu überwachende Infrastruktur zu senden. Da kann es von Vorteil sein, die Monitoring-Mails via Google zu schicken.

Hier die kurze Anleitung für Debian Squeeze.

Zunächst Postfix installieren und die notwendigen Pakete für die Verschlüsselung.
aptitude install postfix libsasl2-2 ca-certificates libsasl2-modules

Meiner Meinung nach, ist es egal, was Ihr bei der Installation von Postfix eintragt, weiter unten kommen wir zur main.cf.

Eine Datei /etc/postfix/sasl_passwd mit folgendem Inhalt erstellen (natürlich sollte da Euer User und Euer Passwort stehen):
smtp.gmail.com meinuser@gmail.com:passwort

Korrektur wegen diesem Artikel.
smtp-relay.gmail.com meinuser@gmail.com:passwort

Und eine Hashmap erstellen:
postmap /etc/postfix/sasl_passwd

Die Dateien müssen nur durch den User Postfix lesbar sein:
chown postfix:postfix /etc/postfix/sasl_passwd*
chmod 600 /etc/postfix/sasl_passwd*


Folgende main.cf kann verwendet werden, schöner ist es mit "richtigen" Zertifikaten, aber die Datei tut es auch. Bitte an den richtigen Stellen anpassen und die GMail-Teile einfach übernehmen.

# See /usr/share/postfix/main.cf.dist for a commented, more complete version

# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = no

# TLS parameters
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=no
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

# Anpassen
myhostname = my.fqdn.net
# /Anpassen
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = FQDN, localhost.yawnrz.net, localhost
# GMail
# relayhost = smtp.gmail.com:587
relayhost = smtp-relay.gmail.com:587
# /GMail
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only
default_transport = smtp
relay_transport = smtp
inet_protocols = all

# GMail
smtp_use_tls=yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous
# /GMail


Zu letzt muss Postfix neu gestartet werden.
service postfix restart


Ein Test darf natürlich nicht fehlen:
< /etc/hosts mail -s Testmail EureMail@provider.tld
(Die Mail muss nicht an eine GMail-Adresse gehen).

Prüfen, ob alles gut war:
tail -20 /var/log/mail.log

Trackbacks

Keine Trackbacks

Kommentare

Ansicht der Kommentare: Linear | Verschachtelt

Philipp Beckers am :

*Hm... wo du es sagst, ja, das macht Sinn. Nicht übel die Idee über nen anderen Anbieter zu gehn, wobei ich es damals löste in dem ich ihn über seinen eigenen Mailserver an mehrere Adressen schicken ließ. Aber ja, so gehts auch :-). Gutes altes Relay-System.

Gruß Philipp

Dirk Deimeke am :

*Mit dem Gedanken habe ich auch gespielt. Den habe ich aber verworfen, weil ich mich nicht darum kümmern wollte, regelmässig auf Blacklists zu schauen, ob Mails von dem Server noch durchgehen.

Google nimmt alles an und kümmert sich selber darum, dass Server aus ihrer Infrastruktur nicht gelistet sind.

Also in Summe einfach aus Faulheit ;-)

Sebastian Struß am :

*Danke für die tolle und einfache Anleitung :-)
Hat perfekt funktioniert - ohne wenn und aber.
Toll! :-D

Viele Grüße aus Hamburg,
Sebastian

rassloff am :

*wie kann man den Absender ändern ???

so das nicht gmail.com sondern meine.domain.com drin steht ???

geht das ???

Dirk Deimeke am :

*Ja, das geht.

Du musst in den GMail-Konteneinstellungen die zusätzliche Mailadresse konfigurieren, dann funktioniert es.

Berliner am :

*was könnte die Ursache sein ??? :

warning: SASL authentication failure: No worthy mechs found

alles wie in der Anleitung übernommen.

Dirk Deimeke am :

*Vermutlich fehlen Dir auf Deinem System ein paar Pakete. Such mal nach "cyrus-plain" und "cyrus-sasl".

Welches Betriebssystem setzt Du ein?

Michael am :

*ACHTUNG

Diese Anleitung ist Fehlerhaft! Uns ist der Fehler leider erst spät aufgefallen und dadurch sind viele E-Mails nicht versendet worden.

Es handelt sich bei dieser Anleitung NICHT um Gmail SMTP-Relaying sondern um normalen GMail SMTP Versand.

Das macht einen großen Unterschied. Beim relaying darf man 10.000 Mails pro Tag und Benutzer verschicken, ansonsten nur 2.000.

Lösung:

Statt "smpt.gmail.com" muss die Domain "smtp-relay.gmail.com" verwendet werden.

Außerdem müssen bei GMail selbst entsprechende Einstellungen getroffen werden.
Siehe:
https://support.google.com/a/answer/2956491

Dirk Deimeke am :

*Vielen Dank für den Hinweis. 2012 - Zeitpunkt der Erstellung des Artikels - gab es diese Einschränkung noch nicht.

Artikel wird entsprechend korrigiert.

Kommentar schreiben

Gravatar, Favatar, Pavatar, Identica, Twitter, MyBlogLog Autoren-Bilder werden unterstützt.
BBCode-Formatierung erlaubt
Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.
:'(  :-)  :-|  :-O  :-(  8-)  :-D  :-P  ;-) 
Formular-Optionen