J'ai besoin de savoir quelle est la meilleure pratique pour envoyer des courriels à partir de My SharePoint WebParts et / ou des fonctionnalités personnalisées. p>
Devrais-je simplement utiliser les classes .NET normales pour envoyer un email? ou est-ce que leur meilleure façon de le faire grâce à l'intégration avec un serveur Outlook? p>
4 Réponses :
Un moyen facile consiste à utiliser les utilitaires intégrés, cela utilisera ensuite la configuration de Settings de serveur de messagerie dans l'administrateur central
using Microsoft.SharePoint.Utilities; SPUtility.SendEmail(SPContext.Current.Web, false, false, "toaddress@mail.com", "subject", "body");
Cela utilise l'adresse de l'adresse de l'administrateur CA. Si vous voulez des adresses personnalisées, accédez à des classes normales .NET.
Universal Way d'envoyer un courrier électronique dans n'importe quel contexte (où SPWeb non disponible) est lu OutboundMailservices Code> Paramètres utilisés dans
Sputilité code>. Ensuite, créez smtpclient manuellement:
Vous pouvez également utiliser ce code pour identifiant dynamique. Ce code obtient le courrier en fonction de l'utilisateur. J'ai utilisé la requête CAML pour obtenir les données du contenu de l'e-mail dans les listes.
SPUser AssigUser = oWeb.EnsureUser(Assigned_Username); SPQuery mquery = new SPQuery(); mquery.Query = @"<Where><Eq><FieldRef Name='Email_x0020_Type' /> <Value Type='Text'>Review - Ready for Review</Value> </Eq></Where>"; string Emailsub = ""; string Emailbody = ""; SPList mList = oWeb.Lists["Email Content"]; SPListItemCollection itemcollection = mList.GetItems(mquery); foreach (SPListItem item in itemcollection) { Emailsub = item["Email Subject"].ToString(); Emailbody = item["Email Content"].ToString(); SPUtility.SendEmail(oWeb, false, false, AssigUser.Email, Emailsub, Emailbody + "</br>" + oWeb.Url); break; }
Pouvez-vous expliquer quand ce code est-il utile? Il semble très spécifique et n'ajoute rien à la réponse acceptée. Bien sûr, vous pouvez obtenir des paramètres d'une liste ou de l'utilisateur actuel ... Peut-être que je manque le point ici.
Le contenu de l'e-mail est stocké dans une liste séparée et à l'aide de cette requête CAML Le contenu peut être obtenu et utilisé pour le courrier électronique.
Utilisation de la surcharge avec des arguments stressadictimiques ( Source )