Die Post geht ab - Mails mit dem Pi versenden

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Manchmal möchte man, dass die Mails nicht lokal auf dem Pi bleiben. Sie sollen das System verlassen.
    Keine große Sache, aber dennoch eine kurze Anleitung.

    Um Mails verschicken zu können, brauchen wir ein Programm, in diesem Fall exim4

    Hinweis: folgende Befehle führe ich mit root-Rechten aus, daher ohne sudo.

    Zuerst die Installation mit

    Code
    apt-get install exim4

    Jetzt muß exim4 noch mit Informationen versorgt werden.
    - Bei mir bleiben die Mails vom Pi innerhalb meines Heimnetzwerkes
    - Mein Arbeitsplatzrechner nimmt die Mails an, sein Name ist nexus
    - Mein Router ist eine Fritzbox, daher die Domäne fritz.box
    Dafür die folgende Konfiguration.

    Ich rufe auf:

    Code
    dpkg-reconfigure exim4-config

    Jetzt werden eine Reihe von Daten abgefragt. Ich trage ein:

    1) Versand über Sendezentrale (smarthost), keine lokale Zustellung
    2) Domänenname: fritz.box
    3) erwartete IP-Adressen: 127.0.0.1
    4) weitere Ziele: localhost
    5) sichtbarer Domänenname: fritz.box
    6) Sendezentrale: nexus
    7) DNS-Anfragen minimieren: nein
    8) Einstellungen auf kleine Dateien aufteilen: nein

    Das war es.

    Sollen die Mails auch in das Internet, gibt es noch eine Hürde. Ohne fester nicht-privater IP stehen Rechner unter Spam-Verdacht.
    Man braucht einen Provider, der die Mails entgegen nimmt. Und natürlich auch ein E-Mail-Account, bei dem die Weiterleitung über den Provider möglich ist.
    Bei den kostenlosen E-Mail-Adressen ist das leider nicht immer gegeben.

    Hat man alles, muss man dieses tun:

    Zuerst die Datei /etc/exim4/passwd.client bearbeiten, indem man seine Daten nach diesem Muster einträgt:

    Code
    target.mail.server.example:login:password


    Ein Hinweis eines Lesers der c't:
    Bei Versand über Google Mail sollte hier stehen:

    Code
    googlemail-smtp.l.google.com:username@googlemail.com:passwort
    *.google.com:username@googlemail.com:passwort
    smtp.googlemail.com:username@googlemail.com:passwort


    Werden die Mails zum Provider verschlüsselt übertragen - heute die Regel - muss noch eine Datei angelegt werden, die heisst:
    /etc/exim4/exim4.conf.localmacros

    Dort eine Zeile mit:

    Code
    MAIN_TLS_ENABLE = 1

    Jetzt werden aber alle Mails über den Provider geleitet. Das ist nicht so toll.
    Daher die Konfiguration noch mal aufrufen und die Einstellung nehmen:

    Versand über Sendezentrale (Smarthost); Empfang mit SMTP oder Fetchmail

    Der Rest bleibt.


    Das sollte es gewesen sein.
    Good luck


    Ein kleiner Nachtrag

    Das Einrichten klappt vielleicht nicht immer beim ersten Versuch. Ein bischen Mitdenken ist natürlich hilfreich icon_rolleyesnew.gif
    Aber wenn es nicht klappen will, schaut hier nach:

    /var/log/exim4/mainlog

    Ich mache beim Testen gern ein zweites Fenster auf. Dort lasse ich mir "live" anzeigen, was passiert:

    Code
    tail -f /var/log/exim4/mainlog


    Ob exim4 gestartet ist, erfahre ich durch

    Code
    ps ax| grep exim4


    Ist das Ergebnis ähnlich zu

    Code
    2492 ?        Ss     0:00 /usr/sbin/exim4 -bd -q30m

    sieht das Ganze schon ganz gut aus.

    Und dann gibt es ja auch noch:

    Code
    man exim4

    Keep it simple [,&] stupid

    Einmal editiert, zuletzt von kungel (19. August 2013 um 09:15)

  • habe ich seit 20 Jahren im Abo, ich gestehe, ich habe sie und den Artikel gelesen.

    Meine Konfiguration ist aber auch schon seit ein paar Jahren in Gebrauch. Zwar nicht auf dem Pi, aber immer wenn ich ein neues Debian teste.

    Ansonsten hat mich jemand gefragt, wie man Mails über gmx versenden kann. Und wenn ich es einem erklären soll, kann ich auch gleich für alle machen. Bzw. für die, die es noch nicht wissen.

    Keep it simple [,&] stupid

  • Hallo,
    ich möchte das gerne so einrichten das der Raspberry mir eine Mail schickt sobald ein Neustart durchgeführt worden ist.
    Nun habe ich das Paket nach dieser Anleitung installiert und in der Crontab mit dem Befehl sudo nano /etc/crontab diese Zeilen
    hizugefügt 59 11 * * * root reboot und @reboot mail -s "ich bin da" meine Mail < ~/mail.txt doch leider bekomme ich keine Mail
    zugeschickt.
    @ Was genau muß ich hier eintragen? Muß target ersetzt werden? Beispiel mit gmx wäre toll.
    target.mail.server.example:test:test

    Gruß
    bibo09

  • Sorry, verstehe die Frage nicht. Was meinst du mit "target.mail.server.example:test:test"

    der Eintrag in der crontab könnte heißen

    @reboot mail -s "ich bin da" meine-adresse@gmx < ~/mail.txt

    Keep it simple [,&] stupid

  • Sorry,

    ich meinte diesen Part.

    Sollen die Mails auch in das Internet, gibt es noch eine Hürde. Ohne fester nicht-privater IP stehen Rechner unter Spam-Verdacht.
    Man braucht einen Provider, der die Mails entgegen nimmt. Hat man ihn, muss man dieses tun:

    Zuerst die Datei /etc/exim4/passwd.client bearbeiten, indem man seine Daten nach diesem Muster einträgt:
    Code: Alles markieren

    Code
    target.mail.server.example:login:password

    muß target geändert werden?

  • Hallo

    Was ist mit ssmtp?

    Damit mach ich das.

    Man sollte dann schon ein Mailkonto dafür einrichten (bei Google, Strato, GMX,...)

    Die /etc/ssmtp/revaliases und /etc/ssmtp/ssmtp.conf anpassen, fertig.

    Wenn noch Fragen sind, ich bin anmailbar.

    Bye

  • Na ja

    Manuals lesen...

    Da gibt es Manuals die gehen bei Adam und Eva los.

    Ich bin wohl nicht genug Akademiker um das ertragen zu können.

    Ich hätte immer gern die Anleitung die in maximal drei Schritten den ersten Erfolg ermöglicht, ich will nichts über die Datenformate und Vorgeschichte eines Programms wissen.

    Vermutlich geht es aber nicht so wie ich das will. Ich habe mal Postfix in Gang gebracht, war sehr mühsam.

    ssmtp, natürlich nur zum Senden, super einfach, eine Zeile vollditschen, Zack, Mail geht raus.

    Gerade für "ich bin noch da" Meldungen kann ich mir nichts Angemesseneres vorstellen.

    Bye

  • Ich möchte von meiner Pi einfach Status eMails schicken. Konkret habe ich einen regelmäßigen Backuplauf und möchte in einer eMail über BackupFehler informiert werden. Dazu soll die eMail an meinen smtp Provider geschickt werden, der sie an meine Monitor eMail schickt.

    Sollte ich dazu eher postfix oder exim oder ssmtp benutzen?

  • mach doch was du willst!

    nee, Spass beiseite. Wenn es erstmal eingerichtet ist, ist es egal.

    ssmtp kenne ich nicht. Glauben wir tuboletti, dann ist es leicht eingerichtet.
    exim4 war für mich auch keine Herausforderung. Wie oben beschrieben schnell eingerichtet.

    postfix war mehr Arbeit, die Grundsachen aber auch nicht wild. Aber man kann sich leicht in Details verlieren.

    Antwort also: je nachdem ;)

    Keep it simple [,&] stupid

  • Das ist doch die Chance das Tutorial auf meinen Usecase zu erweitern ... :)

    Gegeben:

    1) Einen smtp Server eines Providers, der die Domain foo.de abdeckt
    2) Eine Pi im lokalen Netz wo die fritz den folgenden Hostnamen resolved: raspifix.fritz.box

    Wie muss man exim konfigurieren?

  • für exim4 habe das noch nicht gemacht. Bei mir macht das postfix.
    Mal fix in den benannten ct-Artikel geschaut: es scheint zu reichen, die Datei passwd.client zu editieren, wie oben beschrieben.

    Keep it simple [,&] stupid

  • :blush: Das smtp Server PWD war falsch. Jetzt funktioniert es von meiner Pi an meinen SMTP Server eMails zu schicken. Allerdings sehe ich eine hängende Mail mit

    Code
    root@raspifix:/etc/exim4# mailq
     2h  1.4K 1V5g2b-0007KN-MF <> *** frozen ***
              root@raspifix.foo.de

    Warum wird die nicht weitergeleitet bzw wie kann ich die lesen?

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!