Die Post geht ab - Mails mit dem Pi versenden

  • 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 [Blocked Image: http://www.forum-raspberrypi.de/images/smilies_green/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

    Edited once, last by kungel ().

  • 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

  • Für "meine Mail" muss eine gültige E-Mail-Adresse gesetzt werden, z.B. meine-adresse@gmx.de


    Die Adresse darf aber keine Leerzeichen haben wie in "meine Mail"


    Funktioniert den mail von der Konsole?
    Statt ~/mail.txt besser einen absoluten Pfad nehmen, z.B. /home/pi/mail.txt

    Keep it simple [,&] stupid

    Edited once, last by kungel ().

  • Ok,


    habe ich soweit geändert und wie schaut es hiermit aus?


    @ 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?

  • Jetzt habe ich verstanden.


    Ja, hier muss der SMTP-Dienst deines Providers stehen.
    Kurz mal gegoogelt: mail.gmx.net
    Für login natürlich dein login-Name und dein Passwort

    Keep it simple [,&] stupid

  • 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

  • viele Wege führen nach Rom.


    Auf meinem Arbeitsrechner benutze ich postfix.
    Exim4 ist ebenfalls eine gute und bewährte Lösung.
    Auf meinem Pi funktioniert sie problemlos.

    Keep it simple [,&] stupid

  • oh danke - geht runter wie Öl- ist bislang noch niemanden aufgefallen.
    Denn mehr als die Manuals lesen kann ich nicht.

    Keep it simple [,&] stupid

  • 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?

    Sichere Deine Raspbberry regelmäßig mit raspiBackup . Sicher ist sicher ;-)


    Darum gebe ich keinen Support per PN


    "Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect." Linus Benedict Torvalds, 28.9.2003


  • 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?

    Sichere Deine Raspbberry regelmäßig mit raspiBackup . Sicher ist sicher ;-)


    Darum gebe ich keinen Support per PN


    "Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect." Linus Benedict Torvalds, 28.9.2003


  • 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?

    Sichere Deine Raspbberry regelmäßig mit raspiBackup . Sicher ist sicher ;-)


    Darum gebe ich keinen Support per PN


    "Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect." Linus Benedict Torvalds, 28.9.2003


    Edited once, last by framp ().