| Sending Mass E-Mails using ASP.NET
Why use mass emailing?
How does mass emailing work? The Why use form validation? So how will we validate user input? Brief summary of ASP.NET validator controls
In this article, we'll be making use of
|
| Now, copy/paste following code in it: <!-- SendEmail.aspx -->
<%@ Page Language="vb" AutoEventWireup="false"%>
<%@ Import NameSpace="System.Web.Mail" %>
<script runat="server">
Protected Sub SendEmail(ByVal sender As Object, ByVal e As EventArgs)
If IsValid = False Then
Exit Sub
End If
Dim mail As New MailMessage()
Dim stringArr As String() = GetData()
mail.To = Request.Form("to")
mail.From = Request.Form("from")
If Request.Form("format").Equals("text") Then
mail.BodyFormat = MailFormat.Text
Else
mail.BodyFormat = MailFormat.Html
End If
Dim i As Integer
Dim buffer As New StringBuilder()
For i = 0 To stringArr.Length - 1
If i <> 0 Then
buffer.Append(";")
End If
buffer.Append(stringArr(i))
Next
mail.Bcc = buffer.ToString()
mail.Subject = Request.Form("subject")
mail.Body = Request.Form("body")
Try
SmtpMail.SmtpServer = "localhost"
SmtpMail.Send(mail)
Catch ex As Exception
message.Text = "<span style=""color:red;"">" & _
ex.Message & "</span>"
Exit Sub
End Try
message.Text = "Message Sent...<br><br><a " & _
"href=""SendEmail.aspx"">Go Back</a>"
End Sub
Protected Function GetData() As String()
Dim stringArr(3) As String
stringArr(0) = "youremail1@fakeaddress.com"
stringArr(1) = "youremail2@fakeaddress.com"
stringArr(2) = "youremail3@fakeaddress.com"
Return stringArr
End Function
</script>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Sending E-Mails using ASP.NET ( Part II )</title>
<style>
body { background-color:white; }
body, select { font-family:Verdana; font-size:100%; }
textarea, input { font-family:Verdana; font-size:100%; }
.stdInput { width:400; }
.submit { width:20; height:20; }
</style>
</head>
<body>
<p align="center">
<asp:label id="Message" runat="server" />
</p>
<form method="post" runat="server" ID="Form1">
<% If IsPostBack = False Then %>
<p align="center">All fields are required.</p>
<table width="80%" border="0" align="center" cellpadding="2" cellspacing="2">
<tr>
<td width="20%" align="right">From : </td>
<td>
<input type="text" id="From" class="stdInput" runat="server" />
<asp:RequiredFieldValidator ID="FromRequired"
ControlToValidate="From"
ErrorMessage=""From" field is required"
Display="Dynamic"
Runat="server" EnableClientScript="false" />
</td>
</tr>
<tr>
<td align="right">To : </td>
<td>
<input type="text" id="To" class="stdInput"
runat="server" />
<asp:RequiredFieldValidator ID="ToRequired"
ControlToValidate="To"
ErrorMessage=""To" field is required"
Display="Dynamic"
Runat="server" EnableClientScript="false" />
</td>
</tr>
<tr>
<td align="right">MailFormat : </td>
<td>
<select name="Format">
<option value="text">Text</option>
<option value="html">HTML</option>
</select>
</td>
</tr>
<tr>
<td align="right">Subject : </td>
<td>
<input type="text" id="Subject" class="stdInput"
runat="server">
<asp:RequiredFieldValidator ID="SubjectRequired"
ControlToValidate="Subject"
ErrorMessage=""Subject" field is required"
Display="Dynamic"
Runat="server" EnableClientScript="false" />
</td>
</tr>
<tr>
<td valign="top" align="right">Body : </td>
<td>
<textarea cols="5" rows="10" id="Body" class="stdInput"
runat="server"></textarea>
<asp:RequiredFieldValidator ID="Requiredfieldvalidator1"
ControlToValidate="Body"
ErrorMessage=""Body" field is required"
Display="Dynamic"
Runat="server" EnableClientScript="false" />
</td>
</tr>
<tr>
<td> </td>
<td>
<input type="submit" OnServerClick="SendEmail" runat="server"
class="submit" value=" " ID="Submit1" /> Send Email!
</td>
</tr>
</table>
<% Else %>
<asp:ValidationSummary ID="ValSummary"
HeaderText="<p>Following errors ocurred:</p>"
ShowSummary="True" DisplayMode="BulletList" EnableClientScript="False"
ForeColor="black" Runat="server" />
<% End If %>
</form>
</body>
</html>
Explanation <%@ Page Language="vb" AutoEventWireup="false"%> <%@ Import NameSpace="System.Web.Mail" %> Any code here is supposed to run on the server-side. <script runat="server"> ... </script> There are two methods in this ASP.NET page; You should replace ( or override ) the code in this function to put ADO.NET code or something to retrieve user emails from your database. To keep things simple we just created a fake array of user email addresses and returned it to the calling method.
Note: Replace these fake email addresses with real ones to receive the emails that'll be sent using this ASP.NET page.
Protected Function GetData() As String() Dim stringArr(3) As String stringArr(0) = "youremail1@fakeaddress.com" stringArr(1) = "youremail2@fakeaddress.com" stringArr(2) = "youremail3@fakeaddress.com" Return stringArr End Function |
博客围绕ASP.NET展开,涉及用户输入验证及邮件验证等信息技术相关内容,强调在服务器端对用户输入进行有效验证,保障数据准确性与安全性。

被折叠的 条评论
为什么被折叠?



