eMail Versand "Undeliverable mail, invalid header section"

  • Hi Leute,


    erstmal ein großes Lob für diese Projekt. Wunderbare Idee und funktioniert auf anhieb. Naja fast :-)


    Folgendes Problem ist aufgetreten:


    Wo kann ich den eMail-Header konfigurieren? Oder an wie könnte man das Problem lösen
    Danke.



    Gruß

  • So Leute,


    ich bin ja leider ungedultig. Deshlab habe ich euch auch gleich die Lösung:


    folgende datei muss bearbeitet werden:
    /usr/local/lib/python2.7/dist-packages/doorpi/action/SingleActions/mailto.py


    Folgendes muss eingefügt werden:
    in Zeile 3: import time
    in Zeile 49: msg['Date'] = time.asctime()


    ich hoffe es gibt hierfür bald ein Update und das Problem kann als gelöst angeschaut werden

  • Äh, mal langsam. Nur weil EIN Mail Relay Probleme mit einem Header hat bedeutet das noch lange nicht, dass der Fehler in DoorPi liegt. Der Versand funktioniert bei vielen einwandfrei.


    time.asctime() gibt die localtime ohne Angabe der Zeitzone zurück. Die RFC5322 oder RFC2822 sehen die Angabe der Abweichung zu UTC vor. Damit wäre die Mail mit der Date Angabe aus time.asctime() nicht mehr RFC konform. Konform wäre: strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime())


    Ich habe keinen Mailversand konfiguriert. Kann bitte mal jemand, bei dem das funktioniert, die Mail Header hier posten?

  • Biddeschön



    Gesendet zwischen Gmail (SMTP) und Hotmail/Outlook.com

  • @Marcus: Danke. Allerdings ist das, wie es scheint, eine schon weitergeleitete Mail. Im Prinzip müsste man die aus dem Postausgang des Postfachs haben, mit dem DoorPi sich zum senden verbindet.


    @pah: Völlig richtig. Aber eben mit Abweichung zu UTC. time.asctime() gibt diese im String nicht mit zurück. In diversen Python Scripts wird strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime()) verwendet.

  • Hast natürlich Recht. Hier das Original aus dem Postausgang

  • Hmm. Sehe ich auch gerade. -0700 (PDT)
    Nicht dass ich wüsste. Ich muss man checken was ich eingestellt habe heute Abend. Er sollte in CEST bzw UTC +2 laufen.


    Könnte es ansonsten sein, dass der Gmail Server seine lokale Zeit hinzufügt, da er kein Date findet?

  • In /etc/timezone steht Europe/Berlin


    und ein
    pi@DoorPi:~ $ date


    ergibt


    Di 21. Jun 21:44:17 CEST 2016


    Ich denke also es ist alles so wie es sein sollte. Sobald ich aber eine mailto: Action auslöse (gerade noch mal frisch gemacht um den aktuellen Header zu bekommen) dann sieht der Date Eintrag im Header so aus.
    Date: Tue, 21 Jun 2016 12:44:37 -0700 (PDT)


    Hier stimmt also was nicht

  • Könnte es ansonsten sein, dass der Gmail Server seine lokale Zeit hinzufügt, da er kein Date findet?

    Das ist durchaus möglich, wenn date fehlt oder in einem falschen Format ist. Ein Fehlen könnte auch der Grund für das Problem von Nokia001 sein. Wenn man die RFC streng auslegt wäre das Fehlen eines verbindlichen Headers ein Grund die Mail abzuweisen. Die meisten Server werden aber vermutlich das Datum selbst ergänzen.