Hinterlasse einen Kommentar

Fehlende Leerzeichen in Emails aus SharePoint Online und 2016 mit 2010er Workflow

Im SharePoint Online und SharePoint 2016 werden teilweise einige Leerzeichen aus E-Mails einfach entfernt. Der Fehler hängt zusammen mit ungültigen Zeilenumbrüchen, welche in der E-Mailroutine bei der SharePoint-Workflow-Aktivität automatisch einfügt werden und dann bei einigen Mailservern einfach entfernt werden. Ein Workaround ist, die entsprechende Korrektur auf den Mailservern zu deaktivieren.

Betroffen sind nur E-Mails, welche aus der E-Mail Activity in SharePoint Workflow 2010 Workflows erstellt werden. Dort führt die Logik bei EmailActivity.BreakBody() dazu, dass im Email-Body nach ca. 70 Zeichen einen Zeilenumbruch \r (carriage return) hinzugefügt wird. In SharePoint Online und 2016 wird dieser einfache Zeilenumbruch \r wirklich so an den SMTP-Server übergeben. In SharePoint 2010 und 2013 hingegen wurde dieser \r vorgängig korrigiert in einen gültigen \r\n gemäss RFC 2822. Wo genau diese Korrektur stattfand, ist mir momentan nicht bekannt.

Einige Mailserver haben Regeln drin, dass E-Mails, die nicht RFC-2822-Konform sind, korrigiert oder sogar gelöscht werden. Z.B. hat IceWarp eine Standardregel „Fix RFC822 message“. Wird diese Regel deaktiviert, kommen die Emails korrekt an bei den meisten Empfängern und werden auch in Programmen wie Outlook 2016 und Outlook Web Access korrekt angezeigt.

Über Benjamin Freitag

Full stack Web Developer bei 2sic seit 2006, entwickelt Web Apps mit Angular und .NET stack: DNN, Oqtane, 2sxc, SharePoint und nopCommerce.

Hinterlasse einen Kommentar