Email-Anhang Name geben

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo zusammen,

    ich lasse mir einen täglichen Temperaturenreport meines RPI erstellen.
    Diese wird in der Datei /tmp/temperature.log gespeichert.

    Nun lasse ich mir jeden Abend um 23.58 Uhr über einen CronJob eine Mail senden. Dies funktioniert soweit so gut!

    Jedoch schaffe ich es nicht einen gescheiten Anhang mitzusenden, bzw ich verstehe das System nicht :(
    Mit einem msg.attach() kann ich ja einen Text anhängen, welcher dann als Text in meiner Mail erscheint, soweit so gut.
    Jetzt möchte ich aber den Inhalt eines Strings in der Textdatei speichern und als Anhang mit versenden. Dieser Textdatei würde ich gerne einen Namen geben. Jedoch bin ich dazu irgendwie zu blöd...

    Ich habe folgenden Code:

    Jetzt bekomme ich zwar einen Anhang, aber der heißt dann "Attach001"...

    Kann mir jemand sagen, wie ich das lösen kann?

    Gruß

    Xerion21


  • Hier ein Auszug aus meinem Programm, welches funktioniert:

    Code
    for file in files:
        part = MIMEBase('application', "octet-stream")
        part.set_payload( open(file,"rb").read() )
        Encoders.encode_base64(part)
        part.add_header('Content-Disposition', 'attachment; filename="%s"'
                           % os.path.basename(file))
        msg.attach(part)

    Im Prinzip das selbe wie framp verlinkt hat.

    Ich möchte aber keine Datei anhängen sondern einen String. Somit bekomme ich den Error, dass ich keine Binäre Datei mitsende

  • Einen Text kann man nicht an eine Mail anhängen, WAS willst du am Ende haben? Nicht wie meinst du es tun zu müssen sondern WAS willst du am Ende in deinem Mailprogramm sehen?

    Ein Anhang ist IMMER eine Datei OHNE Ausnahme. Daher macht deine aktuelle Frage keinen Sinn und du verwirrst und gehörig.

    • Offizieller Beitrag

    Hattet ihr nicht schon immer das Bedürfnis einen String als attchement zu versenden. ;) Der Email body wird eh vollkommen überbewertet :rolleyes:

    Der Unterschied zwischen Genie und Wahnsinn definiert sich im Erfolg.


  • Hattet ihr nicht schon immer das Bedürfnis einen String als attchement zu versenden. ;) Der Email body wird eh vollkommen überbewertet :rolleyes:

    jaaa im Body das alles stehen zu haben ist blöd. Ich habe aus einem Logfile mehrere Daten ausgelesen, diese möchte ich irekt als Anhang mitsenden. Außerdem ist das ja auch ein kleines Experiment, ob sowas überhaupt funktioniert ;)

  • Dann willst du Textdatei als Anhang!
    also schreibst du alles was du haben willst in eine temporäre Datei, sendest die als Anhang und löscht die hinterher (oder auch nicht wenn du nicht willst).

    Aber ich fühle mich ignoriert, ich hatte relativ DEUTLICH darum gebeten zu erfahren WAS DU AM ENDE HERAUSBEKOMMEN WILLST. Denn was du erfragst ist Schwachsinn. Du willst eigentlich etwas anderes. Es ist häufig der fall dass Leute den technischen Hintergrund anders interpretieren und auf einem völlig falshcen Weg dahinzukommen versuchen. Ist völlig ok, jeder fängt mal an und auch erfahrene gehen hin und wieder mal falsche Wege. Wenn aber jemand erfahrenes das Gefühl hat, dass man sich komplett verrannt hat und danach fragt, WAS man am ENDE haben will und was man meint wie es funktionieren müsste, dann sollte man auch genau das sagen.

    Also zusammenfassend:
    Email-Anhang = Datei (ohne Ausnahme)
    Datei kann Text enthalten
    Email selbst kann Text enthalten

    Entscheide dich, etwas anderes gibt es nicht und macht auch absolut keinen Sinn.
    Entweder ist etwas Teil der Mail oder nicht.


  • Dann willst du Textdatei als Anhang!
    also schreibst du alles was du haben willst in eine temporäre Datei, sendest die als Anhang und löscht die hinterher (oder auch nicht wenn du nicht willst).

    ich wollte es eigentlich ohne temporäre Datei lösen... Dass es mit einer temp. Datei funktioniert weiß ich.

    Zitat


    Aber ich fühle mich ignoriert, ich hatte relativ DEUTLICH darum gebeten zu erfahren WAS DU AM ENDE HERAUSBEKOMMEN WILLST. Denn was du erfragst ist Schwachsinn. Du willst eigentlich etwas anderes. Es ist häufig der fall dass Leute den technischen Hintergrund anders interpretieren und auf einem völlig falshcen Weg dahinzukommen versuchen. Ist völlig ok, jeder fängt mal an und auch erfahrene gehen hin und wieder mal falsche Wege. Wenn aber jemand erfahrenes das Gefühl hat, dass man sich komplett verrannt hat und danach fragt, WAS man am ENDE haben will und was man meint wie es funktionieren müsste, dann sollte man auch genau das sagen.

    Es tut mir leid, dass ich deinen Beitrag überlesen hatte, als ich mit meinem Smartphone hier online war. Über deine restlichen Aussagen lässt sich gerne streiten, aber nun denn...

  • Naja wie ich schon sagte:
    In einer Email gibt es 3 Bereiche die Informationen beinhalten können:
    1. Betreffzeile
    2. Body
    3. Anhang

    Die Betreffzeile ist nur für mini-Infos geeignet, da besteht glaube ich kein Diskussionsbedarf.
    Den Body willst du nicht, warum auch immer. Aber wenn der TE eine Bedingung stellt, dann ist das für mich gesetzt.Er wird schon seine Gründe haben.
    In den Anhang können NUR Dateien gepackt werden.

    So, jetzt frage ich dich ein letztes Mal, denn diesmal hast du es gelesen gehabt.
    In Anbetracht der drei veränderlichen Elemente einer Mail, was möchtest du am Ende im Postfach sehen?

    Wenn diesmal keine Antwort darauf kommt bin ich hier raus.

    Normalerweise bin ich übrigends einer von denen die am längsten Versuchen Anfängern zu helfen, auch wenn sie es nicht schaffen die richtigen Informationen zu liefern. Aber nur, wenn sie es zu mindest versuchen. Und wenn du meinen Beitrag tatsächlich nicht gesehen hattest, dann entschuldige ich mich natürlich für meinen Ton.

  • Deinen Beitrag hatte ich echt net gesehen,

    ich habe das Problem mit dem Name geben nun mal sein lassen. Von mir aus kann die Datei nun gerne Attach01 heißen ;)

    Ich werde mich in nächster Zeit wieder damit beschäftigen, wenn ich wieder Zeit habe.

    Was ich am Ende im Postfach sehen will ist:
    Betreff: Temperaturüberwachung $datum
    Anhang: $datum_Temperaturüberwachung.txt (aktuell: attach01)
    Body: Temperaturüberwachung $datum von RaspberryPI $IP


    Die Einträge mit $ werden jeweils ersetzt durch Inhalte

Jetzt mitmachen!

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