SharePoint ja e-posti saatmine
20.12.2007 | Gunnar
SharePoint võimaldab administraatoril määrata ära saadetavate e-postide määrangud. Neid määranguid ei hoita web.config failis, vaid kuskil mujal. Samas ei ole SharePoint'i enda e-posti saatmise võimalused alati piisavad ning meil on vaja mõnda paremat lahendust.
Tavalised tekstilised e-postid, olgu nende sisuks siis tavatekst või HTML, saame me välja saata SPUtility.SendEmail() meetodi abil. Paar rida teksti ja ongi e-post saadetud.
SPUtility.SendEmail(context,false,false,"saaja@email","peakiri","sisu");
Keerukamate e-postide korral kasutan ma enamasti System.Net.Mail nimeruumi klasse, nagu näiteks SmtpClient ja MailMessage. Neid klasse kasutades pean aga teadma SMTP serverit, mis saadetava e-posti vastu võtab.
Nüüd peame kuskilt leidma üles SharePoint'i SMTP määrangud, et meie kood käiks muude SharePoint'ist saadetavate e-postidega samat sammu.
SharePoint'i e-posti määrangutele saame ligi nimeruumis Microsoft.SharePoint.Administration asuva klassi SPAdministrationWebApplication abil. Küsime klassi käest käesoleva aplikatsiooni instantsi ning sealt leiamegi kõik vajaminevad omadused.
SPOutboundMailServiceInstance instance = app.OutboundMailServiceInstance;
SmtpClient client = new SmtpClient();
MailMessage message = new MailMessage();
client.Host = instance.Server.Address;
message.From = new MailAddress(app.OutboundMailSenderAddress);
message.Subject = "pealkiri";
message.Body = "sisu";
message.To.Add("saaja@aadress");
client.Send(message);
Nagu nägime, pole SharePoint'i e-posti määrangute programmiline lugemine kuigi keerukas. See võimaldab meil saata ka keerukamaid e-poste ning samas säilitada selle, et saadetavate e-postide määrangud asuvad samas kohas.
