EMail Send nur bei gefülltem Dateianhang

Hallo,

in unserem Flow "....Paketnummern..." wollen wir in einem bestimmten Fall eine Mail verschicken. Zunächst wird eine CSV erstellt (mit fehlerhaften Aufträgen) und diese soll dann verschickt werden.

Wenn die CSV leer ist, soll natürlich auch keine Mail verschickt werden.


Bis jetzt ist es allerdings so, dass JEDES Mal eine Mail verschickt wird und JEDES Mal ist der Anhang leer (egal ob es fehlerhafte Aufträge gab oder nicht). In der Vorschau des Steps SpreadsheetCSV Writer wird die Datei aber gefüllt angezeigt.


Liegt hier eventuell ein Fehlverhalten des EMailSend Steps vor? Oder haben wir das falsch konfiguriert? (sieht für uns eigentllich richtig aus).



image


Vielen Dank für die Hilfe!

Hallo,


wir vermuten das Problem liegt im SpreadsheetCSVWriter Step. Können sie bitte noch einige Einstellungen des SpreadsheetCSVWriter Steps schicken:

  • outputtype = ?
  • createEmptyFiles = ?
  • printHeader = ?


Vielen Dank und viele Grüße

Torsten Felsch

Hallo Torsten,

hier sind unsere derzeitigen Einstellungen.


Vermutlich hast du Recht und ich sollte die letzte Option ändern. Aber mich verwirrt, was da drunter steht. Denn selbst wenn ich leere Dateien verbiete, wird trotzdem die Kopfzeile erzeugt.

Ich versuche jetzt trotzdem mal einfach die letzte Option auf Nein zu setzen. Mal schauen was passiert. :)

Viele Grüße
Diana

image

Hallo Diana,


die Option createEmptyFiles = Yes sollte korrekt sein. Das Problem bei Excel Dateien ist, dass sie nicht komplett leer sind (Dateigröße > 0 Bytes), auch wenn in der Tabelle keine Zeilen vorhanden sind. Der EmailSend Step prüft aber die Dateigröße und verschickt die Email wenn diese größer 0 ist. Mit einer CSV Datei sollte es funktionieren.


Viele Grüße

Torsten

Hallo Torsten,
prima - dann müsste es ja jetzt klappen. Mal schauen, ob sich das zweite Problem dadurch auch erledigt (die Datei war leer, auch wenn eigentlich was drin sein musste). Wir verwenden dort zum ersten Mal den negativen Output eines SpreadsheetFilters (wie gesagt geht es um fehlerhafte Aufträge).

Ich melde mich wieder, sobald wir mehr wissen :) Besten Dank und schönen Abend!
Diana

Gibt es denn auch eine Möglichkeit, beim Email Send Step leere Excel Dateien nicht zu versenden?
CSV-Dateien sind in diesem Projekt eher schlecht und ein Stop Flof if hilft mir in diesem Fall nicht weiter, da der Flow nach diesem Step noch weitere wichtige Steps enthält.

Viele Grüße,
Kemal van Heuvel

Es gäbe eine Möglichkeit über den FileFilter Step.

In diesem Step könnte man z.B. alle Dateien herausfiltern die zu klein sind.


z.B. Filterausdruck:

sizeInBytes > 10


Hiermit würde der FileFilter nur Dateien durchlassen, die größere als 10 Byte sind.


Das Problem bei leeren Exceldateien ist, dass sie - obwohl sie augenscheinlich im Excel leer sind - in Wahrheit ein paar byte/kbyte Metadaten enthalten.

D.h. man müsste mal prüfen, wie groß so eine leere Exceldatei ungefähr ist, und dann den FileFilter Step anpassen.

Den Output des FileFilter Steps gibt man dann an den EmailSend Step.

Hey, Problem ist bei mir jetzt nur, dass der Email Send Steps nun Mails ohne Anhang verschickt, auch wenn die die Funktion "Do not send if the attachements are empty" eingestellt ist.

Hallo Kemal,

ok wir prüfen das. Vermutlich ist da noch ein Fehler, wenn durch deinen Filter quasi alle Attachments entfernt werden.

Wir konnten es nachstellen. Aktuell wird die Mail versendet, auch wenn die ganze Liste der Anhänge leer ist.

Wir stellen in der kommenden Woche einen Fix dafür bereit.

Ein Fix wurde verteilt. Jetzt sollte es sich wie folgt verhalten:


Es wird keine Mail versendet, WENN:

  • Option "Do not send if the attachements are empty" aktiviert ist
  • und die Summe der Dateigröße aller Dateianhänge 0 ergibt
  • oder keine Dateianhänge vorhanden sind (Liste leer oder gar nicht verknüpft)