[Gelöst] Neueste Datei im Ordner als Emailanhang verschicken

  • Ich möchte gerne die neueste Datei in einem Ordner als Anhang verschicken.

    Die Email kommt auch an, aber nur mit dem Pfad und Dateinamen, also /pfad/zur/datei.txt

    Da fehlt wohl noch eine Kleinigkeit, aber was und wo ?

    :helpnew:

  • [Gelöst] Neueste Datei im Ordner als Emailanhang verschicken? Schau mal ob du hier fündig wirst!

  • Ah ja, da war ja noch was.

    Es funktioniert jetzt EmailMessage statt MIMEMultipart:

    Aber der Dateiname ist video-h264-attachment statt der originalen Dateiendung.

    Erledigt, da fehlte noch ein filename=latest_file in Zeile 59. :bravo2:

  • fred0815 Da werden einige Sachen importiert die gar nicht benutzt werden.

    Die `setup()` Aufrufe machen *in* der Schleife keinen Sinn. Man muss auch für mehrere Pins für die das gleiche gemacht werden soll, mehrere Aufrufe machen.

    `filename` darf wirklich nur der Dateiname sein. Sonst läuft man Gefahr das die Mail in irgendeinem Filter/Virenscanner hängen bleibt, weil komplette Pfade dort ein Angriffsvektor sind.

    Ungetestet:

    “For every complex problem, there is a solution that is simple, neat, and wrong.” — H. L. Mencken

  • Danke an euch beide fred0815 + __blackjack__ für das nette Scriptchen.

    Das lässt sich bestimmt für verschiedene Zwecke als Blaupause verwenden.

    Beim Testen mit meinem Account habe ich nicht STARTTLS, sondern SSL verwendet.

    Hier der entsprechend geänderte Teil:

    Python
                with smtplib.SMTP_SSL(host=SMTP_SERVER, port=0) as smtp_client:
                    smtp_client.set_debuglevel(1)
                    smtp_client.login(USERNAME, PASSWORD)
                    smtp_client.sendmail(SENDER, RECEIVER, message.as_string())

    PS: Das port=0 bedeutet, dass der Standardport (465) verwendet wird.

    Edited once, last by simonz (November 14, 2023 at 4:33 PM).

  • Jain, man kann da schon 0 übergeben wenn man den Standardport möchte, aber die erste Markierung in dem Bild zeigt ja, dass 0 bereits der Wert ist, der genommen wird wenn man `port` gar nicht übergibt. Defaultwerte bei Argumenten sind ja genau dazu gedacht das man die nicht übergeben muss wenn man keinen anderen Wert möchte.

    “For every complex problem, there is a solution that is simple, neat, and wrong.” — H. L. Mencken

  • Ja ich weis, jetzt wenns läuft kann jeder kommen, aber wenn schon von Blaupausen die Rede ist, dann würde ich noch zwei Funktionen einbauen. Ist auch viel übersichtlicher, finde ich.


    Grüße

    Dennis

    P.S. mir gefällt das 'try' in der 'if'-Abfrage irgendwie gar nicht :/

    🎧 Strahlend soll die Zukunft sein, gut wir werden seh'n, ob wir wie ein Strahlemann lächelnd untergeh'n.  🎧

  • Was immer du willst :)

    Grüße

    Dennis

    🎧 Strahlend soll die Zukunft sein, gut wir werden seh'n, ob wir wie ein Strahlemann lächelnd untergeh'n.  🎧

  • Hallo,

    wenn es nur ein einfacher Text sein soll, funktioniert das?

    Grüße

    Dennis

    🎧 Strahlend soll die Zukunft sein, gut wir werden seh'n, ob wir wie ein Strahlemann lächelnd untergeh'n.  🎧

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!