"/>"/>
Yazılım Dilleri
Asp.Net 4.5 Kitabı
Skip Navigation Links

Sharepoint 2010'da Ekli Mail Gönderme

Sharepoint 2010’da mail gönderme işlemlerini kodla (Visual Studio tarafında) yapmamız gerektiğinde .Net’in varsayılan mail sistemi olan System.Net.Mail namespaceini kullanabileceğimiz gibi Sharepoint

 Sharepoint 2010’da mail gönderme işlemlerini kodla (Visual Studio tarafında) yapmamız gerektiğinde .Net’in varsayılan mail sistemi olan System.Net.Mail namespaceini kullanabileceğimiz gibi Sharepoint içerisinde hazırlanmış olan SPUtility sınıfını da kullanabiliriz.

SPUtility sınıfının mail gönderme fonksiyonundaki tek sıkıntısı ekli dosya gönderememesidir. Bu işlem gerektiği taktirde (yöntemlerden biri) System.Net.Mail namespace’i ile maili göndermektir.
Bu makalemizde System.Net.Mail namespace’i içindeki mail gönderme işlemlerinin sharepointe entegrasyonunu inceleyeceğiz.
Bu işlem için Visual Studio’da yeni bir Empty Sharepoint Project oluşturalım (Farm Solution) ve Add New Item ile yeni bir Application Page ekleyelim.
 
 
Sayfamıza bir buton ekleyelim.
<asp:ContentID="Main"ContentPlaceHolderID="PlaceHolderMain"runat="server">
 <asp:ButtonID="btMailGonder"runat="server"Text="Mail Gönder"OnClick="btMailGonder_Click" />
</asp:Content>
Mail gönder butonunun Click eventına gidip kodumuzu yazalım.
 
 
MailMessage ePosta = newMailMessage();
            ePosta.From = newMailAddress("posta@sharepointtr.net");
            //
            ePosta.To.Add("alan1@sharepointtr.net");
            ePosta.To.Add("alan2@sharepointtr.net");
            //
            ePosta.Subject = "Konu";
            //
            ePosta.Body = "İçerik";
            //
            SmtpClient smtp = newSmtpClient();
            //
            smtp.Credentials = new System.Net.NetworkCredential("posta@sharepointtr.net", "sifre");
            smtp.Port = 587;
            smtp.Host = "smtp.sharepointtr.com";
 
            using (SPSite site = newSPSite("http://siteadresi"))
            {
                using (SPWeb web = site.OpenWeb())
                {
                    SPList liste = web.Lists["Dokuman"];
                    SPListItem dokuman = liste.Items[0];
                    
                    for (int i = 0; i < dokuman.Attachments.Count; i++)
                    {
                        string dosyaYolu = dokuman.Attachments.UrlPrefix + dokuman.Attachments[i];
                        SPFile dosya = liste.ParentWeb.GetFile(dosyaYolu);
 
                        byte[] dosyaVerisi = newWebClient(){Credentials=CredentialCache.DefaultNetworkCredentials}.DownloadData(dosyaYolu);
 
                        ePosta.Attachments.Add(newAttachment(newMemoryStream(dosyaVerisi),dosya.Name));
                    }
                }
            }
            try
            {
                smtp.Send(ePosta);
            }
            catch (SmtpException ex) { }
 
 
 
Veysel Uğur KIZMAZ
Bilgisayar Mühendisi
veysel@ugurkizmaz.com
twitter :@vukizmaz
 

Yorumlar (0)

Yorum Yap

Mail listesine katılmak için tıklayınız

Hakkımdaki son bilgilere anlık erişmek için mail listesine katılabilirsiniz.