Mail sending



private SPListItem GetMailListDetails(string listName, string mailType) 
        { 
            SPListItem lstItem = null; 
            using (SPSite site = new SPSite(SPContext.Current.Site.Url)) 
            { 
                using (SPWeb web = site.OpenWeb()) 
                { 
                    SPSecurity.RunWithElevatedPrivileges(delegate() 
                      { 
                          SPList list = web.Lists[listName]; 
  
                          SPQuery q = new SPQuery(); 
                          q.Query = string.Format("<Where><Eq><FieldRef Name='Title'/><Value Type='Text'>{0}</Value></Eq></Where>", mailType); 
                          SPListItemCollection items = list.GetItems(q); 
                          lstItem = items[0]; 
                      }); 
                    if (lstItem != null) 
                        return lstItem; 
                    else 
                        return null; 
  
                } 
            } 
        } 




 private void MailSending(string mailType) 
        { 
            try 
            { 
                SPSecurity.RunWithElevatedPrivileges(delegate() 
                { 
                    using (SPSite objSite = new SPSite(SPContext.Current.Site.Url)) 
                    { 
                        using (SPWeb objWeb = objSite.OpenWeb()) 
                        { 
                            //SPUser myHod = GetApprovers(pplEHOD); 
                            mailUsers = string.Empty; 
                            string myHod = lblPeopleEditorvalue.Text.ToString();// pplEHOD.Accounts[0].ToString(); 
                            SPUser spHod = SPContext.Current.Web.EnsureUser(myHod); 
  
                            MailSending(spHodmailType); 
                            MailSending(SPContext.Current.Web.CurrentUsermailType); 
                            SPGroup kcUsers = objWeb.Groups[ddlKaizenCategory.SelectedItem.Text.Trim()]; 
                            foreach (SPUser user in kcUsers.Users) 
                            { 
                                MailSending(user, mailType); 
                            } 
  
                            //Response.Write("<script>alert('Hemml')</script>"); 
  
                        } 
                    } 
                }); 
            } 
            catch (Exception ex) 
            { 
                Page.ClientScript.RegisterClientScriptBlock(typeof(SPAlert), "alert", "<script language=\"javascript\">alert('" + ex.Message + "')</script>"); 
            } 
        } 



  
        private void MailSending(SPUser user, string mailType) 
        { 
            try 
            { 
                mailUsers = mailUsers + user.Name.ToString() + ","; 
                //mailUsers += user.LoginName.ToString() + ","; 
                using (SPSite objSite = new SPSite(SPContext.Current.Site.Url)) 
                { 
                    using (SPWeb objWeb = objSite.OpenWeb()) 
                    { 
                        SPListItem lstItem = GetMailListDetails("KaizenMailDetails", mailType); 
  
                        if (lstItem != null) 
                        { 
                            SPUser currentUser = objWeb.SiteUsers[HttpContext.Current.User.Identity.Name.ToString()]; 
                            string cc = lstItem["cc"].ToString(); 
  
                            StringDictionary headers = new StringDictionary(); 
  
                            headers.Add("from", currentUser.Email.ToString()); 
                            headers.Add("to", user.Email.ToString()); 
                            headers.Add("cc", cc); 
                            headers.Add("subject", SPHttpUtility.ConvertSimpleHtmlToText(lstItem["Subject"].ToString(), 5000)); 
                            string bodyText = SPHttpUtility.ConvertSimpleHtmlToText(lstItem["BodyText"].ToString(), 5000); 
  
                            SPUtility.SendEmail(objWeb, headers, bodyText); 
                        } 
                    } 
                } 
            } 
            catch (Exception ex) 
            { 
                Page.ClientScript.RegisterClientScriptBlock(typeof(SPAlert), "alert", "<script language=\"javascript\">alert('" + ex.Message + "')</script>"); 
            } 
        } 

Comments

Popular posts from this blog

My Interview Experience