Gửi Mail đơn giản mà không đơn giản. Bạn muốn hiểu hãy xem chi tiết tại đây!
Chắc hẳn rằng các bạn khi lập trình website cũng nhận thấy gần như hầu hết website nào cũng có chức năng gửi mail. Tuy việc gửi mail là 1 công việc thường ngày tưởng chừng như đơn giản nhưng viết ra 1 chương trình gửi mail thật hữu dụng không phải ai cũng biết.
Mình xin giới thiệu với các bạn class Email sau đây với email có chứng thực SMTP để gửi đi vì vậy bạn cần phải chắc chắn tồn tại 1 account mail SMTP trên host để thực hiện cấu hình thành công (có thể vào quản trị host để tạo mail này) .
Trước tiên thiết kế một Form liên hệ đơn giản như sau
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
<%this is the client side code for the design and display%> <asp:Panel ID="Panel1" runat="server" DefaultButton="btnSubmit"> <p> Please Fill the Following to Send Mail.</p> <p> Your name: <asp:RequiredFieldValidator ID="RequiredFieldValidator11" runat="server" ErrorMessage="*" ControlToValidate="YourName" ValidationGroup="save" /> <asp:TextBox ID="YourName" runat="server" Width="250px" /> Your email address: <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="*" ControlToValidate="YourEmail" ValidationGroup="save" /> <asp:TextBox ID="YourEmail" runat="server" Width="250px" /> <asp:RegularExpressionValidator runat="server" ID="RegularExpressionValidator23" SetFocusOnError="true" Text="Example: username@gmail.com" ControlToValidate="YourEmail" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" Display="Dynamic" ValidationGroup="save" /> Subject: <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ErrorMessage="*" ControlToValidate="YourSubject" ValidationGroup="save" /> <asp:TextBox ID="YourSubject" runat="server" Width="400px" /> Your Question: <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ErrorMessage="*" ControlToValidate="Comments" ValidationGroup="save" /> <asp:TextBox ID="Comments" runat="server" TextMode="MultiLine" Rows="10" Width="400px" /> </p> <p> <asp:Button ID="btnSubmit" runat="server" Text="Send" OnClick="Button1_Click" ValidationGroup="save" /> </p> </asp:Panel> <p> <asp:Label ID="DisplayMessage" runat="server" Visible="false" /> </p> |
Còn đây là phần server side code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
protected void SendMail() { // Email Address from where you send the mail var fromAddress = "yourname@tenmiencuaban.com"; // any address where the email will be sending var toAddress = YourEmail.Text.ToString(); //Password of your Email address const string fromPassword = "matkhau"; // Passing the values and make a email formate to display string subject = YourSubject.Text.ToString(); string body = "From: " + YourName.Text + "\n"; body += "Email: " + YourEmail.Text + "\n"; body += "Subject: " + YourSubject.Text + "\n"; body += "Question: \n" + Comments.Text + "\n"; // smtp settings var smtp = new System.Net.Mail.SmtpClient(); { smtp.Host = "mail.tenmiencuaban.comm"; smtp.Port = 25; smtp.EnableSsl = false; smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network; smtp.Credentials = new NetworkCredential(fromAddress, fromPassword); smtp.Timeout = 20000; } // Passing values to smtp object smtp.Send(fromAddress, toAddress, subject, body); } protected void Button1_Click(object sender, EventArgs e) { try { //here on button click what will done SendMail(); DisplayMessage.Text = "Your Comments after sending the mail"; DisplayMessage.Visible = true; YourSubject.Text = ""; YourEmail.Text = ""; YourName.Text = ""; Comments.Text = ""; } catch (Exception) { } } |
Đoạn code trên đều đã có chứng thực, hoạt động với phiên bản ASP.net 3.5 và có thể hoạt động tốt ngay cả với phiên bản ASP.net 4.0.
Trường hợp bạn không muốn sử dụng email kèm theo hosting có thể sử dụng Gmail , Ymail … và tùy biến khai báo các cấu hình SMTP server.
Chúc bạn thành công!
WEB FAQ > Email FAQ > Hỏi đáp Email
web faq | hỏi đáp web | hoi dap web | website faq | hỏi đáp website | hoi dap website | hướng dẫn sử dụng web | huong dan su dung web | huong dan web | hoi dap email