logo

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


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 = "[email protected]"; mail.From = "[email protected]"; 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: 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..." + "Go Back"; } Sending E-Mails using ASP.NET ( Part I ) a { font-size:8pt; font-family:Tahoma; font-weight:normal; color:maroon; } All fields are required. From : To : MailFormat : Text HTML Subject : Body : Send Email! 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é.  
DMCA.com Protection Status Copyright by webtailieu.net