Mail Versenden

  • Hallo,


    ich würde gerne das mein Raspberry automatisch mir eine Mail zuschickt.

    Also habe ich bei crontab -e den Befehle "*/1* * * * pi sudo python2 test.py" eingetragen.

    Leider erhalte ich minütlich keine Mail, wenn ich diese Datei selber auführe mit dem befehl "python2 test.py" erhalte ich eine Mail.


    In der Syslog sehe ich das crontab das ganze ausführt.

    In der letzten Zeile steht dann aber

    (root) MAIL (mailed 70 bytes of output but got status 0x0001 from MTA#012)


    # The user that gets all the mails (UID < 1000, usually the admin)

    root=**********@gmail.com


    # The mail server (where the mail is sent to), both port 465 or 587 should be acceptable

    # See also http://mail.google.com/support/bin/answer.py?answer=78799

    mailhub=smtp.gmail.com:587


    # The address where the mail appears to come from for user authentication.

    rewriteDomain=gmail.com


    # The full hostname

    hostname=gmail.com


    # Use SSL/TLS before starting negotiation

    UseTLS=Yes

    UseSTARTTLS=Yes


    # Username/Password

    AuthUser=********@gmail.com

    AuthPass=*****

    Debug=NO


    # Email 'From header's can override the default domain?

    FromLineOverride=NO



    Mein zweites Problem ein Tag nachdem der Raspberry aus ist verliert er die SSH datei.

    Wisst ihr wieso ?



    Danke im vorraus sitzte hier schon Stunden an dem Problem.



    Gruß

    Sanya

  • Go to Best Answer
    • Official Post

    Hallo Sanya,


    willkommen im Forum! ;)

    crontab -e den Befehle "*/1* * * * pi sudo python2 test.py"


    - */1 ist sinnlos, da der * schon minütlich aufruft.

    - absolute Pfade wurden schon genannt (/Pfad/zu/test.py) Zu Python sollte ootb funktionieren, aber schaden kann dieser Pfad auch nicht.


    Das ergibt schon mal * * * * * pi sudo python2 /Pfad/zu/test.py


    - In der Crontab, die als User pi mit crontab -e aufgerufen wird, macht die Angabe des Users keinen Sinn. Ich bin mir nicht mal sicher, ob das sogar einen Fehler wirft.

    - sudo gehört ebensowenig in einen Cronjob.


    Das ergibt dann * * * * * python2 /Pfad/zu/test.py und würde als pi ausgeführt werden.


    Wenn das Skript damit es funktioniert unbedingt als user root aufgerufen werden muss, dann bietet sich die systemweite Crontab an, in diese muss der aufrufende Username mit rein.


    Diese erreichst Du mit: sudo nano /etc/crontab

    Der Job wäre dann dort: * * * * * root python2 /Pfad/zu/test.py

  • Hallo,


    danke für die schnellen Antworten, ich habe natürlich die crontab in /etc/crontab bearbeitet

    und mein Pfad ist auch richtig angegeben, da sieht man wie Unaufmerksam ich war nach 9 Stunden Fehlersuche.

    Mein Programm wird ausgeführt aber das absenden der Mail gelingt nicht ich füge noch einmal ein ausschnitt ein.


    2. Ich verwende Python2, wenn ich mein Programm Manuell starte mit Python3 erhalte ich eine Fehler meldung.

    Füge ich auch nochmal im Anhang hinzu.

  • Bist du sicher, dass dein Programm ausgeführt wird? Die Fehlermeldung suggeriert ein Problem, das cron selbst keine mail verschicken kann, was es im Fehlerfall probiert. Du kannst in dein Skript zb logging einbauen, und dadurch rausfinden wie weit das durchläuft.

  • Wie baue ich dieses Logging ein ? Ich bin neu in Sachen Raspbian (Raspberry Pi), ich dachte schon das er durch läuft er loggt sich nämlich schon bei Gmail ein.



    EDIT:


    Ich verwende Raspbian Lite, könnte das Raspbian Buster ein unterschied bringen ?

    Edited once, last by Sanya ().

  • Ich denke nicht, dass das einen Unterschied macht. Und woher weisst du, dass er sich bei GMail einloggt?


    Logging ist eine Bibliothek von Python, das du doch benutzt. Das muss man dann programmieren.


    Vielleicht habe ich aber auch noch nicht ganz verstanden, was du da machst. Kannst du bitte mal das volle Python-Skript zeigen? Als Quellcode hier (mit dem </>-Knopf), nicht als screenshot. Den kann ich nicht editieren.

  • Hier ist der Quellcode

  • Dann benutz mal


    und probier es erst ohne cron, dann mit aus. Dann bekommst du Eintraege in mail.log, die man mal anschauen kann.

  • Habe das Problem gelöst bekommen. In meinem Crontab hab ich noch /home/pi vor dem Pfad hinzugefügt jetzt funktioniert es.

    Danke für die hilfen.

  • Hatte davor den Pfad dht11/test.py , dies hat mein Programm ausgeführt aber zu einem Fehler geführt.

    Erst mit dem Pfad home/pi/dht11/test.py hat es funktioniert.