Zeitversetzter E-Mail Versand

7. Dezember 2018 13:51

Hallo ihr,

möglicherweise verwende ich die falschen Suchbegriffe, aber ich bin überrascht relativ wenig Informationen zum zeitversetzten Versand von E-Mails zu finden. Ich halte das für eine Standardanwendung, da es aber nicht mit Bordmitteln möglich ist, dachte ich, ich könnte mir hierzu einen einfachen Workflow schreiben.

Die Anwendung:
User sollen die Möglichkeit haben 1. indiviuelle E-Mails zu terminieren und 2. dies auch für Kampagnen zu ermöglichen (wir haben beispielsweise Mailings, die sonntags früh rausgehen sollen).

Meine bisherige Umsetzung:
Ich habe unterschiedliche Dinge ausprobiert. Schlussendlich bin ich bei dieser Lösung gelandet:

1. In den Entitäten Kampagnenaktivitäten und E-Mail habe ich ein Optionsfeld "Zeitversetzt senden" mit den Werten (direkt senden, zeitversetzt senden, zeitversetzt gesendet) angelegt. Für das Sendedatum verwende ich die Felder "geplante Startzeit" (Kampagnenaktivität) und "Fälligkeitsdatum" E-Mail
2. Der Workflow läuft über die E-Mail Entität, wird bei Erstellung ausgelöst und sieht wie folgt aus

FALLS "Zeitversetzt senden" (E-Mail)
> Datensatzstatus (E-Mail) ändern in "Entwurf"
> Timeout bis "Fälligkeitsdatum" (E-Mail)
> "Zeitversetzt senden" (E-Mail) ändern in "zeitversetzt gesendet"
> Datensatzstatus (E-Mail) ändern in "Senden ausstehend"

FALLS "Zeitversetzt senden" (Bezug: Kampagnenaktivität)
> Datensatzstatus (E-Mail) ändern in "Entwurf"
> Timeout bis "Geplante Startzeit" (Bezug: Kampagnenaktivität)
> "Zeitversetzt senden" (E-Mail) ändern in "zeitversetzt gesendet"
> "Zeitversetzt senden" (Bezug: Kampagnenaktivität) ändern in "zeitversetzt gesendet"
> Datensatzstatus (E-Mail) ändern in "Senden ausstehend"

Der Auftragsbesitzer ist ein Account mit Adminrechten.

EDIT
Es gibt zwei Probleme:
1. Wenn das TimeOut abgelaufen ist und der Datensatzstatus in "Senden ausstehend" geschaltet werden soll. Ich erhalte die Fehlermeldung:

"Als ausgewählter Benutzer können Sie keine E-Mails senden. Der ausgewählte Benutzer hat dies nicht zugelassen, oder Sie besitzen keine ausreichenden Rechte. Wenden Sie sich an den Systemadministrator."

Ich verstehe das dahingehend, dass ich als ausführender Nutzer die Erlaubnis erteilen müsste, dass andere in meinem Namen E-Mails versenden. Das will ich aber eigentlich vermeiden, weil die Nutzer es vergessen werden und es zudem eine Sicherheitslücke wäre. Mit Echtzeitworkflows kann ich nicht arbeiten, weil ich dann keinen TimeOut laufen lassen kann.

2. Bei einzeln abgeschickten Mails tritt der gleiche Fehler auf, zudem wird die Email aber nicht verschickt, selbst wenn der Status in "Senden ausstehend" wechselt. Vermutlich würde es gehen, wenn die E-Mail nicht nur gespeichert, sondern verteilt würde. Ich verstehe aber nicht, weswegen die Mail in "Senden ausstehend" hängen bleibt.

Muss ich doch einen ganz anderen Weg wählen? Gibt es hierfür tatsächlich keine einfachen Umsetzungen.

Liebe Grüße
Lucas

Re: Zeitversetzter E-Mail Versand

7. Dezember 2018 16:23

Hallo Lucas,

Wenn das TimeOut abgelaufen ist und der Datensatzstatus in "Senden ausstehend" geschaltet werden soll. Ich erhalte die Fehlermeldung:

"Als ausgewählter Benutzer können Sie keine E-Mails senden. Der ausgewählte Benutzer hat dies nicht zugelassen, oder Sie besitzen keine ausreichenden Rechte. Wenden Sie sich an den Systemadministrator."

Ich verstehe das dahingehend, dass ich als ausführender Nutzer die Erlaubnis erteilen müsste, dass andere in meinem Namen E-Mails versenden. Das will ich aber eigentlich vermeiden, weil die Nutzer es vergessen werden und es zudem eine Sicherheitslücke wäre. Mit Echtzeitworkflows kann ich nicht arbeiten, weil ich dann keinen TimeOut laufen lassen kann.

Die Benutzer können es nicht vergessen, da es zum einen eine Einstellung im Email Server ist, die einmalig eingerichtet wird, und zum anderen ein Button im CRM, der vom Administrator einmalig angeklickt werden muss.

2. Bei einzeln abgeschickten Mails tritt der gleiche Fehler auf, zudem wird die Email aber nicht verschickt, selbst wenn der Status in "Senden ausstehend" wechselt. Vermutlich würde es gehen, wenn die E-Mail nicht nur gespeichert, sondern verteilt würde. Ich verstehe aber nicht, weswegen die Mail in "Senden ausstehend" hängen bleibt.

Solange die Einstellungen von Punkt 1 nicht vorgenommen wurden wird das immer auftreten, sobald der Benutzer, der den Workflow startet nicht der Benutzer ist, der als Absender in der Email steht.

Der einfachste Weg ist aus meiner Sicht ein entsprechendes Workflow-PlugIn zu schreiben, das die Email über Inpersonation mit dem richtigen Besitzer absendet.

Re: Zeitversetzter E-Mail Versand

7. Dezember 2018 22:48

Hey Michael,

danke für deine Antwort. Meine Vorbehalte bezüglich der Option, dass andere im eigenen namen senden können gehen einfach dahin, dass die User das ggw. nicht aktiv haben (wollen). Ich kann aber auch immer dann, wenn der Fall eintritt eine Notification rausschicken, dass sie die Option einstellen müssen und wie das geht. Wäre auf jeden Fall ein gangbarer Kompromiss.

Was den zweiten Punkt betrifft löst das aber scheinbar nicht das Problem: wenn ich eine einzelne Mail anlege und speichere wird der Workflow ordentlich ausgelöst und die Mail auch in "Senden ausstehend" geschaltet - danach passiert aber gar nichts mehr. Die Mail wird nie verschickt. Ist das ein zu erwartendes Verhalten?

Re: Zeitversetzter E-Mail Versand

10. Dezember 2018 13:31

Hallo Lucas,

Was den zweiten Punkt betrifft löst das aber scheinbar nicht das Problem: wenn ich eine einzelne Mail anlege und speichere wird der Workflow ordentlich ausgelöst und die Mail auch in "Senden ausstehend" geschaltet - danach passiert aber gar nichts mehr. Die Mail wird nie verschickt. Ist das ein zu erwartendes Verhalten?

Ja, das ist das erwartete Verhalten, wenn das Senden als anderer Benutzer nicht aktiviert ist.

Re: Zeitversetzter E-Mail Versand

11. Dezember 2018 11:12

Hallo Michael,
kurz zur Klärung: das Verhalten tritt im beschriebenen Fall auch dann auf, wenn das Senden als anderer Benutzer aktiviert ist.

Liebe Grüße
Lucas

Re: Zeitversetzter E-Mail Versand

11. Dezember 2018 11:25

Hallo Lucas,

kurz zur Klärung: das Verhalten tritt im beschriebenen Fall auch dann auf, wenn das Senden als anderer Benutzer aktiviert ist.

Sind dabei auch die Rechte im Mail-Server entsprechend eingestellt? Auch dort muss dieses Recht vergeben werden.