Simplemail, Anhänge umbenennen oder gruppieren

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
flummi100
User
Beiträge: 8
Registriert: Mittwoch 10. Juli 2013, 22:33

Ich habe ein Script geschrieben, das mit simplemail Fotos von verschiedenen Kameras an eine Mail anhängt und verschickt. Größenordnung jeweils zwei, drei Bilder von einigen Kameras. Unschön ist, daß alle Bilder dieselbe Namenskonvention haben und der Verzeichnisname mit der Kameranummer in der Mail verlorengeht.

Kann man mit simplemail den Mail-Attachment-Namen vom physischen Filenamen abweichend angeben?
Oder kann man wenigstens eine Gruppierung der Anhänge mit Zwischenüberschriften/Text erreichen, also nach den Anhängen einer Kamera ein Text "Kamera x folgt:"?
Letzte Alternative wäre, die Dateien unmittelbar vor dem Anhängen auf Filesystemebene (läuft unter Windows) umzubenennen (von Bla-Datum-Uhrzeit.jpg nach Kamera1-Bla-Datum-Uhrzeit.jpg) und direkt danach wieder zurück.

Welche der drei Möglichkeiten sind überhaupt gangbar und welche wäre am aufwandsärmsten bzw. "schönsten"?

Zusatzfrage: Wo finde ich die "offizielle" Version von simplemail? Google liefert nichts eindeutiges, und der originale Thread dazu hier ist schon von 2007.
BlackJack

@flummi100: Das originale Thema hier im Forum ist sogar schon von 2005, das Modul feiert also im April seinen 10. Geburtstag. :-)

Und gleich im ersten Beitrag ist ein Link zur Projektseite auf Google-Code. Das würde ich dann mal als offizielle Seite dafür ansehen.
flummi100
User
Beiträge: 8
Registriert: Mittwoch 10. Juli 2013, 22:33

Das hat Seltenheitswert, daß sich heute etwas 10 Jahre hält und das auch noch an derselben Stelle im Web. Die Versionen bei Google Code sehen aktuell aus, danke.

Für die anderen Fragen würde ich mich natürlich auch noch über Antworten freuen.
BlackJack

@flummi100: Man kann leider keine anderen Namen angeben als den der Datei auf dem Dateisystem.

Anhänge gruppieren und mit Zwischenüberschriften versehen gibt das E-Mail-Format grundsätzlich nicht her.

Kurzfristig umbenennen funktioniert zwar, ist aber IMHO extrem hässlich. Das hat auch so seine Probleme wenn dabei/währenddessen irgendetwas schief läuft. Ausserdem braucht man dafür mehr Rechte auf die Dateien/Verzeichnisse als für das direkte Anhängen, was ja nur Leserechte auf die Datei(en) benötigt.

Ich würde ja entweder den Autor von `simplemail` fragen ob sich die gewünschte Funktionalität nachrüsten lässt. So schwer sieht das nicht aus. Oder das selber nachrüsten. Und dann einen „pull request” stellen damit das eventuell ins offizielle Modul kommt. Oder nach einer anderen Lösung ausschau halten. `marrow.mailer` (ex TurboMail) zum Beispiel.
flummi100
User
Beiträge: 8
Registriert: Mittwoch 10. Juli 2013, 22:33

Mit dem Umbenennen habe ich etwas experimentiert. Der Befehl zum Anhängen produziert nur eine Liste von Dateinamen im Mailobjekt, die erst beim Absenden der Mail abgearbeitet wird. Also "umbenennen, anhängen, rückbenennen" funktioniert nicht pro Datei, sondern es wird zu "alles umbenennen, gesamte Verarbeitung inkl. Mailversand, dann rückbenennen". Und falls in der langen Kette etwas schiefgeht und sich das Skript verabschiedet, hat man inkonsistente Dateinamen. In der Tat sehr unschön.

Allerdings kommt mir eine weitere Idee. Die Bilder scheinen mir ohnehin etwas groß, besonders falls der Empfänger sie auf einem Mobilgerät anschauen will. Von daher werde ich sie wohl vor dem Anhängen verarbeiten. Dazu braucht es sinnvollerweise ein eigenes Arbeitsverzeichnis, und in dem kann ich dann auch hinsichtlich der Dateinamen machen was ich will.
BlackJack

@flummi100: Zwingend bräuchte man kein Verzeichnis für die verkleinerten Bilder, man könnte das auch alles im Arbeitsspeicher erledigen. Dazu bräuchte man dann allerdings eine Möglichkeit Mails zu versenden an die man direkt Daten anhängen kann, ohne den Umweg über eine Datei.
Antworten