protected void btnSend_Click(object sender, EventArgs e) { string[] attachments = null; int clientID = 0; string[] recipient = null; List <string> emails = null; CRM.Data.Entities.SecUser user = null; string decryptedPassword = null; string fromEmail = null; string subject = txtEmailSubject.Text.Trim(); string bodyText = txtEmailText.Text.Trim(); user = SecUserManager.GetByUserId(SessionHelper.getUserId()); if (user == null) { return; } int roleID = SessionHelper.getUserRoleId(); if (roleID == (int)UserRole.Client || roleID == (int)UserRole.SiteAdministrator) { clientID = SessionHelper.getClientId(); emails = LeadsManager.GetLeadEmails(clientID); } else { emails = LeadsManager.GetLeadEmails(); } fromEmail = user.Email; txtEmailText.Text += "\n\n" + user.emailSignature ?? ""; decryptedPassword = Core.SecurityManager.Decrypt(user.emailPassword); if (fileUpload.HasFile && fileUpload.PostedFile.ContentLength > 0) { attachments = new string[] { Path.GetFullPath(fileUpload.PostedFile.FileName) }; } if (emails != null && emails.Count > 0) { try { foreach (string email in emails) { recipient = new string[] { email }; Core.EmailHelper.sendEmail(fromEmail, recipient, null, subject, bodyText, attachments, user.Email, decryptedPassword); } lblMessage.Text = "Email broadcast complete."; lblMessage.CssClass = "ok"; } catch (Exception ex) { lblMessage.Text = "Email broadcast failed."; lblMessage.CssClass = "error"; } } }