Tải bản đầy đủ (.pdf) (4 trang)

Tài liệu Gửi Mail sử dụng ASP.NET pptx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (116.1 KB, 4 trang )

Gửi Mail sử dụng ASP.NET

Trong bài viết này, chúng ta sẽ học được cách gửi Mail gồm cả định dạng
Text và HTML bằng cách sử dụng lớp System.Web.Mail.

Trước khi nghiên cứu về các đoạn mã, chúng ta sẽ nói về các lớp
MailMessage và SmtpMail mà chúng ta sử dụng để gửi Mail.
1. System.Web.Mail.MailMessage:
Dưới đây là thuộc tính của lớp này:

Để sử dụng lớp này, chúng ta khởi tạo một đối tượng mới bằng Constructor không có tham số.
Thiết lập một vài thuộc tính và sau đó gửi tin nhắn sử dụng phương thức tĩnh của lớp SmtpMail
là phương thức Send():
MailMessage mail = new MailMessage();

mail.To = "";
mail.From = "";
mail.BodyFormat = MailFormat.Text;
mail.Subject = "Subject of this Email";
mail.Body = "Body of this message.";

SmtpMail.Send(mail);
Trên đây là đoạn mã để tạo và gửi một đối tượng Mailmessage. Chỉ cần thay đổi một vài giá trị
cho phù hợp với yêu cầu của bạn là được.
2. System.Web.Mail.SmtpMail:
Lớp này gửi Mail thông qua giao thức SMTP. Chúng ta sẽ tập trung và 2 phương thức tĩnh
Send() mà lớp này cung cấp. Để sử dụng phương thức tĩnh này, chúng ta chỉ cần cung cấp đối
tượng tham số MailMessage hợp lý và gửi.

bây giờ, chúng ta sẽ tạo trang sendMail.aspx để áp dụng các đoạn mã bên trên.
3. sendMail.aspx:


Trong trang này, sẽ có một Form để chứa các thông tin của Mail. Chúng ta chỉ cần nhập các
giá trị đúng và nhấn nút "Send" để gửi Mail. Các bạn hãy tham khảo đoạn mã dưới đây:
<%@ Page Language="C#" %>
<%@ Import NameSpace="System.Web.Mail" %>

<script runat="server">
protected void Page_Load(Object Sender, EventArgs e) {
if(!Page.IsPostBack)
Message.Text = "Sending E-Mail using ASP.NET";
}

protected void Send_Email(Object Sender, EventArgs e) {
MailMessage mail = new MailMessage();

mail.To = Request.Form["to"];
mail.From = Request.Form["from"];

if(Request.Form["format"].Equals("text"))
mail.BodyFormat = MailFormat.Text;
else
mail.BodyFormat = MailFormat.Html;

mail.Subject = Request.Form["subject"];
mail.Body = Request.Form["body"];

SmtpMail.Send(mail);
Response.Flush();

Message.Text = "Message Sent...<br><br>" +
"<a href=\"sendMail.aspx\">Go Back</a>";

}
</script>
<html>
<head>
<title>Sending E-Mails using ASP.NET ( Part I )</title>
<style>
a { font-size:8pt; font-family:Tahoma; font-weight:normal;
color:maroon; }
</style>
<link rel="stylesheet" href="css/demostyle.css">
</head>
<body bgcolor="white">

<p align="center" class="title">
<asp:label id="Message" runat="server" />
</p>

<% if(!Page.IsPostBack) { %>
<p align="center">All fields are required.</p>

<form method="post" runat="server">
<table width="80%" border="0" align="center" cellpadding="2" cellspacing="2">
<tr>
<td width="20%" align="right">From : </td>
<td><input type="text" name="from"></td>
</tr>
<tr>
<td align="right">To : </td>
<td><input type="text" name="to"></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" name="subject" style="width:400;"></td>
</tr>
<tr>
<td valign="top" align="right">Body : </td>
<td>
<textarea cols="5" rows="10" name="body" style="width:400;">
</textarea></td>
</tr>
<tr>
<td> </td>
<td>
<input type="submit" OnServerClick="Send_Email" runat="server"
class="submit" value=" " /> Send Email!
</td>
</tr>
</table>
</form>
<% } %>


</body>
</html>
Ta thấy rằng phương thức Send_Email() sẽ được gọi khi người sử dụng nhấn nút Send ở trong
Form. trong Hàm này chúng ta sử dụng đoạn mã đã nói ở trên để tạo ra một đối tượng
MailMessage và sau đó sử dụng phương thức Send() của lớp SmtpMail.
Nhưng trong khi gửi xảy ra lỗi, thì có thể lỗi đó do dịch vụ SMTP chưa có trong h
ệ thống của
bạn. Bạn có thể cung cấp SMTP Server của riêng bạn, như sau:
SmtpMail.SmtpServer = "smtp.yourisp.com";
SmtpMail.Send(mail);
và bây giờ bạn có thể gửi Mail được rồi. Tuy nhiên trong bài này chưa bắt lỗi, nên các bạn chú ý
điền đầy đủ các thông tin cần thiết nhé.
 

×