Dienstag, 18. August 2009

Länge des Mailbody in SPUtility.SendEmail begrenzt

Die Methode SendEmail der statischen Klasse SPUtility kann dazu verwendet werden, aus dem SharePoint-Kontext heraus E-Mails zu verschicken. Zu beachten ist dabei allerdings, dass der Mailbody nach 2048 Zeichen abgeschnitten wird. Für größere E-Mails, bzw. Inhalte mit aufwendigen HTML-Inhalten kann dies zum Problem werden.

Abhilfe schafft hier allerdings das Verwenden von New Lines innerhalb des Body-Strings.

Der Mailbody für SendEmail kann also mehr als 2048 Zeichen insgesamt verschicken, es dürfen allerdings nur maximal 2048 Zeichen pro Zeile stehen.


StringBuilder mailBody = new StringBuilder();
...
mailBody.AppendFormat("<tr style='{0}'><td style='padding-right:10px;'>{1}</td><td style='padding-right:10px;'>{2}</td><td style='padding-right:10px;'>{3}</td><td style='padding-right:10px;'>{4}</td></tr>", style, key, title, milestone, dueDate).AppendLine();
...

SPUtility.SendEmail(spWeb, false, false, toAddresses, "Subject", mailBody.ToString());