vendredi 24 décembre 2010

Utilisation template de mail sous WSS

L'envoi d'un mail par code peut-être une chose fastidieuse quand vous construisez le code html de votre mail dans une de vos fonctions. Le problème de cette méthode c'est que votre code devient vite illisible et si vous(ou un collaborateur utilisant WSS/MOSS) voulez changez le format du mail, vous serez obligez de repasser dans votre code.

Donc pour éviter de vous perdre rapidement dans votre fonction qui écrit votre mail et évitez de repasser dans votre code, utilisez plutôt un template de mail au format html que vous uploaderez dans une doclib (au top level site par exemple).











Du coté code, vous n'avez qu'a ouvrir votre template de mail de la manière suivante:
SPFolder emailTemplatesFolder = rootWeb.GetFolder(rootWeb.Url + "/" + "EmailTemplates");
SPFileCollection fileCollection = emailTemplatesFolder.Files;
SPFile senderMailBodySPFile = fileCollection["monTemplateDeMail.html"];
byte[] senderMailBodyBinary = senderMailBodySPFile.OpenBinary();
string senderMailBody = Encoding.UTF8.GetString(senderMailBodyBinary);



Un petit truc bien sympa aussi, vous pouvez mettre des variables dans votre mail que vous remplacerez dans votre méthode.Pour ma part, j'ai rajoutez des variables dans mon mail qui sont de la forme @@nomVariable@@
Et pour finir, il vous suffit de remplacer vos variables de la manière suivante:

string userName = "dcubesolutions";
senderMailBody = senderMailBody.Replace("@@userName@@", userName );

Aucun commentaire:

Enregistrer un commentaire