send-mime
Die Funktion send-mime sendet eine E-Mail an die angegebenen Empfänger, im Allgemeinen an den Administrator. Vor Verwendung der Funktion müssen die Mail-Sever-Einstellungen konfiguriert werden. Im Gegensatz zur Funktion send kann über den Parameter Nachrichtentext dieser Funktion der Nachrichtentext (z.B. im HTML-Format) aus einem Stream abgerufen werden.
Um einen Stream für den Nachrichtentext direkt in FlowForce zu erstellen, können Sie Ausdrucksfunktionen wie stream-open oder stream-from-string aufrufen. Ebenso können Sie die E-Mail oder den Nachrichtenkopf von Anhängen mit Hilfe von MIME-Ausdrucksfunktionen anpassen. Damit E-Mails nicht im Spam-Ordner des Empfängers landen, sollten Sie MIME Header gemäß den Vorgaben des empfangenden Servers oder Programms erstellen.
Um HTML-Inhalt für den Nachrichtentext zu erhalten, wird empfohlen, eine StyleVision Server-Transformation aufzurufen, die HTML-Ausgabe als MIME erzeugt. Ein Beispiel für die Bereitstellung einer StyleVision-Transformation auf FlowForce Server finden Sie unter Erstellen eines Auftrags anhand einer StyleVision-Transformation. Nähere Informationen zur Integration von StyleVision Server finden Sie unter Integration mit anderen Altova-Servern.
FlowForce Server sammelt Bilder, Stylesheets oder ähnliche von HTML-Dateien referenzierte Ressourcen nicht in einem eigenen MIME-Stream. Um den HTML-Nachrichtentext mit StyleVision Server zu erstellen, gehen Sie folgendermaßen vor:
1.Erstellen Sie das Design für den HTML-Nachrichtentext einer E-Mail in Altova StyleVision. Das Design kann lokale Bilder und Stylesheets enthalten.
2.Stellen Sie die StyleVision-Transformation auf FlowForce Server bereit. Die Transformation wird in FlowForce zu einer vordefinierten FlowForce-Funktion, die von StyleVision Server ausgeführt werden kann.
3.Erstellen Sie einen Auftrag, der die obige StyleVision Server-Transformation aufruft. Stellen Sie dabei sicher, dass Sie auf der Auftragskonfigurationsseite die Option GenerateHtmlOutputAsMime aktivieren.
4.Rufen Sie auf der Auftragskonfigurationsseite FlowForce Server-Ausdrucksfunktionen auf, damit der generierte MIME Stream an den Parameter Nachrichtentext der Funktion send-mime übergeben wird (siehe "Beispiel 1" unten).
Wenn von der HTML-Datei referenzierte externe Ressourcen nicht in den MIME Stream eingebettet werden können, werden sie in Form von Anhängen zur E-Mail hinzugefügt.
Parameter
Name | Typ | Beschreibung |
---|---|---|
Von | String | Obligatorischer Parameter. Die E-Mail-Adresse des Absenders (z.B. flowforce@<hostname>). |
An | String | Obligatorischer Parameter. Die E-Mail-Adresse des Empfängers. Das Feld kann eine kommagetrennte Liste mehrerer E-Mail-Adressen enthalten. |
Betreff | String | Obligatorischer Parameter. Die Betreffzeile einer Nachricht. |
Nachrichtentext | Stream | Obligatorischer Parameter. Nachrichtentext einer Nachricht. |
Anhang | sequence of stream | Optionaler Parameter. Der bzw. die mit einer E-Mail gesendete(n) Anhang/Anhänge. Bei jedem Anhang muss es sich um einen FlowForce-Ausdruck handeln, dessen Ergebnis ein Stream ist. Rufen Sie Stream-Funktionen auf, um Streams anhand von Strings oder Dateien zu erstellen. Rufen Sie MIME-Ausdrucksfunktionen auf, um MIME-Header hinzuzufügen, zu ändern oder zu löschen. |
Bei Fehler abbrechen | Boolean | Dieser Boolesche Parameter legt fest, was der Rückgabewert der Funktion sein soll, wenn der Auftrag fehlschlägt. Wenn Bei Fehler abbrechen FALSE ist, gibt die Funktion den Booleschen Wert FALSE zurück. Wenn Bei Fehler abbrechen TRUE ist, wird die Ausführung des Auftrags abgebrochen. Der Standardwert ist TRUE. |
Beispiel 1
Im unten gezeigten Auftrag wird die Funktion send-mime aufgerufen, um eine E-Mail im HTML-Format zu senden.
Schritt 1
Mit dem ersten Ausführungsschritt wird durch Aufruf einer StyleVision Server-Transformation eine HTML-Ausgabe generiert. Diese Transformation wurde mit StyleVision erstellt und anschließend auf FlowForce Server bereitgestellt. Als Input-Datei wird in der Funktion die Datei BiggesCities.xml verwendet. Die Ausgabedatei ist BiggestCitiesPerCity.html und wird als MIME-Typ generiert (das Kontrollkästchen GenerateHtmlOutputAsMime ist aktiviert). Das Ergebnis dieses Ausführungsschritts hat den Namen output und wird im nächsten Schritt verwendet.
Schritt 2
Im zweiten Ausführungsschritt wird die Funktion compute aufgerufen, um den Ausdruck nth(results(output), 0) zu berechnen, der den MIME-Stream aus dem im vorherigen Schritt generierten Ergebnis abruft. Das Ergebnis des zweiten Schritts hat den Namen message und wird im letzten Ausführungsschritt im Parameter Nachrichtentext verwendet.
Schritt 3
Im dritten Ausführungsschritt wird eine E-Mail gesendet, die als Nachrichtentext das Ergebnis des vorherigen Schritts (message) enthält.
Beispiel 2
Im unten gezeigten Auftrag wird die Funktion send-mime aufgerufen, um eine E-Mail im HTML-Format zu senden. Die E-Mail enthält einen Bildanhang im .png-Format.
Im ersten Ausführungsschritt wird der HTML-Code für den Nachrichtentext vorbereitet. Aus Gründen der Einfachheit wird der HTML-Code in diesem Beispiel direkt in das Textfeld eingegeben. Die empfohlene Methode ist, die HTML-Ausgabe, wie im vorherigen Beispiel gezeigt, mit Hilfe einer StyleVision Server-Transformation zu erzeugen. Das Ergebnis dieses Schritts hat den Namen body_html und wird im nächsten Schritt verwendet.
Im zweiten Ausführungsschritt wird der Nachrichtentext der E-Mail erstellt. Die Funktion stream-from-string konvertiert das Ergebnis des ersten Ausführungsschritts in einen Stream. Die Kodierung (UTF-8) und der MIME-Typ (text/html) werden als Argumente an die Funktion übergeben. Das Ergebnis ist die Nachricht message vom Typ T0 (beliebiger Typ). Es wird im Nachrichtentext im letzten Schritt verwendet.
Mit dem dritten Ausführungsschritt wird der Anhang der E-Mail, ebenfalls als Stream, erzeugt. In diesem Schritt wird der folgende Ausdruck berechnet:
add-mime-header(stream-open('C:\sample.png', 'image/png'), 'Content-Disposition', 'attachment; filename=sample.png')
Die Funktion stream-open öffnet das Bild als Stream. Die Funktion add-mime-header fügt den Header Content-Disposition zum Stream hinzu. Der Wert des Headers Content-Disposition ist 'attachment; filename=sample.png'. Dies bedeutet, dass sample.png heruntergeladen und lokal gespeichert werden kann. Das Ergebnis dieses Schritts ist der Anhang, der im letzten Schritt verwendet wird.
Im letzten Schritt wird eine E-Mail gesendet. In der Funktion send-mime wird das Ergebnis des zweiten Schritts (message) als Nachrichtentext verwendet. Im Parameter Anhang wird die Funktion mime-content-encode benötigt, da sample.png eine Binärdatei ist. Dateien dieses Typs müssen im Base64-Format kodiert werden, damit sie bei der Übertragung erhalten bleiben.
Eine andere Methode
Eine weitere Methode für den oben beschriebenen Auftrag wäre, anstelle der Funktion add-mime-header (dritter Ausführungsschritt oben) die Funktion set-mime-content-disposition zu verwenden. Der Ausdruck sieht folgendermaßen aus:
set-mime-content-disposition(stream-open('C:\sample.png', 'image/png'), 'attachment', 'sample.png')