Imports System.Web.Mail Imports BVSoftware.BVC.Core Public Class Users_MailingLists_Send Inherits BaseAdminPage #Region " Web Form Designer Generated Code " 'This call is required by the Web Form Designer. Private Sub InitializeComponent() End Sub Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init 'CODEGEN: This method call is required by the Web Form Designer 'Do not modify it using the code editor. InitializeComponent() End Sub Protected WithEvents ListName As System.Web.UI.WebControls.Label Protected WithEvents MessageFormat As System.Web.UI.WebControls.RadioButtonList Protected WithEvents FromField As System.Web.UI.WebControls.TextBox Protected WithEvents SubjectField As System.Web.UI.WebControls.TextBox Protected WithEvents CancelButton As System.Web.UI.WebControls.ImageButton Protected WithEvents SendMailButton As System.Web.UI.WebControls.ImageButton Protected WithEvents FirstFocus1 As MetaBuilders.WebControls.FirstFocus Protected WithEvents DefaultButtons1 As MetaBuilders.WebControls.DefaultButtons Protected WithEvents MetaDescriptionControl As BVSoftware.WebControls.MetaTag Protected WithEvents MetaKeywordsControl As BVSoftware.WebControls.MetaTag Protected WithEvents msg As BVSoftware.WebControls.WebPageMessage Protected WithEvents BodyField As System.Web.UI.WebControls.TextBox #End Region Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load BVC2004Store.CheckThisPage(Security.RolePermission.LoginToAdmin) BVC2004Store.CheckThisPage(Security.RolePermission.AccessPeopleArea) If Not Page.IsPostBack Then MetaKeywordsControl.Content = WebAppSettings.MetaKeywords MetaDescriptionControl.Content = WebAppSettings.MetaDescription End If If Not Page.IsPostBack Then BodyField.Text = "Your message goes here..." If Not Request.Params("editID") Is Nothing Then Dim editID As String = Request.Params("editID") ViewState("ListID") = editID End If LoadListInfo() FromField.Text = BVC2004Store.GetCurrentUser.UserName End If End Sub Sub LoadListInfo() Dim dtInfo As DataTable = ContactServices.MailingLists.GetListInfo(ViewState("ListID")) If Not dtInfo Is Nothing Then If dtInfo.Rows.Count() > 0 Then ListName.Text = dtInfo.Rows(0).Item("name") End If End If dtInfo = Nothing End Sub Private Sub CancelButton_Click(ByVal sender As System.Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles CancelButton.Click Response.Redirect("people_MailingLists.aspx", True) End Sub Private Sub SendMailButton_Click(ByVal sender As System.Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles SendMailButton.Click msg.Clear() Dim sentCounter As Integer = 0 Dim dtMembers As DataTable = ContactServices.MailingLists.GetMembers(ViewState("ListID")) If Not dtMembers Is Nothing Then If dtMembers.Rows.Count > 0 Then Try Dim i As Integer = 0 For i = 0 To dtMembers.Rows.Count() - 1 With dtMembers.Rows(i) SendMessageTo(.Item("EmailAddress")) End With sentCounter += 1 Next msg.ShowOK("Your message was sent to " & sentCounter & " list members.") Catch Ex As Exception msg.ShowException(Ex) End Try Else msg.ShowWarning("This group has no members!") End If Else msg.ShowError("Couldn't get member list") End If End Sub Sub SendMessageTo(ByVal emailAddress As String) Dim MyMail As New MailMessage MyMail.To = emailAddress MyMail.From = FromField.Text.Trim() MyMail.Subject = SubjectField.Text.Trim() MyMail.Body = BodyField.Text.Trim() MyMail.Subject = MyMail.Subject.Replace("[[emailaddress]]", emailAddress) MyMail.Body = MyMail.Body.Replace("[[emailaddress]]", emailAddress) If MessageFormat.SelectedItem.Value = 1 Then MyMail.BodyFormat = MailFormat.Html Else MyMail.BodyFormat = MailFormat.Text End If MailServices.SendMail(MyMail) MyMail = Nothing End Sub End Class