:: BO2TAY COLLECTIONS ::
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

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

Go down

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

Bài gửi by PRINCETUONG Fri Dec 14, 2007 10:20 am

Trước khi nghiên cứu về các đoạn mã, chúng ta sẽ nói về các lớp MailMessageSmtpMail 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:
Gửi Mail sử dụng ASP.NET Asp_126

Để 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ớpSmtpMail là phương thức Send():
MailMessage mail = new MailMessage();

mail.To = "receivers@email.address";
mail.From = "senders@email.address";
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.
Gửi Mail sử dụng ASP.NET Asp_127

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é.
PRINCETUONG
PRINCETUONG
Đã qui ẩn giang hồ, miễn bàn thế sự.. Hẹn ngày tái ngộ.
Đã qui ẩn giang hồ, miễn bàn thế sự.. Hẹn ngày tái ngộ.

Tổng số bài gửi : 181
Age : 36
Registration date : 03/12/2007

http://www.bo2tay.net

Về Đầu Trang Go down

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết