Viết một ứng dụng đôi lúc bạn cần đến một chức năng gửi mail để đáp ứng cho một mục đích nào đó. Đôi khi bạn đã có mailserver của mình để có thể sử dụng SMTPSERVER nhưng đôi lúc bạn không kiếm đâu ra mailserver thì các mailclient như mail của chúng ta đăng ký ở Gmail hay Yahoo ... chỉ cần bạn biết địa chỉ smtpserver của nó và một port là có thể sử dụng SMTP trong name space System.Net.Mail để gửi mail.
Dưới đây là một lớp mình viết sẵn và có giải thích rỏ ràng trên từng đoạn code nên mình ko giải thích lại nữa.
Mã:
using System.Net.Mail;using System.Text.RegularExpressions; /// <summary>/// Summary description for SendMailClient/// </summary>public class SGmail{ public SGmail() { } SmtpClient sClient = new SmtpClient(); //xác định smtpserver để gửi mail, với gmail là smtp.gmail.com string smtpServer = "smtp.gmail.com"; /// <summary> /// Thuộc tính truyền hoặc lấy mail server khi gửi mail client /// </summary> public string SmtpServer { get { return smtpServer; } set { smtpServer = value; } } //Gửi từ mail nào, là một địa chỉ mail từ gmail ex: sunflower2441@gmail.com string smtpMailFrom = "sunflower2441@gmail.com"; /// <summary> /// Thuộc tính truyền hoặc lấy giá trị địa chỉ gửi mail /// </summary> public string SmtpMailFrom { get { return smtpMailFrom; } set { smtpMailFrom = value; } } //user đăng nhập vào gmail string smtpUser = "sunflower2441"; /// <summary> /// Thuộc tính user đăng nhập mail, chỉ có thể truyền /// </summary> public string SmtpUser { set { smtpUser = value; } } //mật khẩu đăng nhập gmail string smtpPassword = "123456"; /// <summary> /// Thuộc tính mật khẩu đăng nhập mail, chỉ có thể truyền /// </summary> public string SmtpPassword { set { smtpPassword = value; } } //port của smtpserver khi dùng gmail là 587 hoặc 465 int smtpPort = 587; /// <summary> /// Port khi gửi mail với smtpserver của mail client, chỉ có thể truyền /// </summary> public int SmtpPort { get { return smtpPort; } set { smtpPort = value; } } /// <summary> /// Hàm gửi mail với mail client là gmail /// </summary> /// <param name="strMailTo">Mail muốn gửi đến</param> /// <param name="strMailSubject">Tựa đề mail</param> /// <param name="strContent">Nội dung mail</param> /// <param name="bolIsHTMLFormat">Định dang mail gửi đi là HTML hay Text</param> /// <returns>Trả về thông tin sau khi gửi là thanh công hay thất bại và lỗi khi thất bại.</returns> public int SendMail(string strMailTo, string strMailSubject, string strContent, bool bolIsHTMLFormat) { try { MailMessage objMail = new MailMessage(); //reg xác lập tính hợp lệ của mail Regex reg = new Regex(@"^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$"); objMail.From = new MailAddress(smtpMailFrom); objMail.ReplyTo = new MailAddress(smtpMailFrom); if (reg.IsMatch(strMailTo)) { objMail.To.Add(new MailAddress(strMailTo)); objMail.Subject = strMailSubject; if (bolIsHTMLFormat) { objMail.IsBodyHtml = true; objMail.Body = string.Format("<html><head><title>{0}</title></head><body>{1}</body></html>", strMailSubject, strContent); } else { objMail.IsBodyHtml = false; objMail.Body = strContent; } objMail.BodyEncoding = System.Text.Encoding.UTF8; sClient = new SmtpClient(); sClient.Host = smtpServer; sClient.Port = smtpPort; sClient.Credentials = new System.Net.NetworkCredential(smtpUser, smtpPassword); sClient.EnableSsl = true; sClient.Send(objMail); return 1; } else { return 0; } } catch (Exception ex) { return -1; } }}
View more random threads:
Thông qua phân tích dữ liệu Google từ 86 quốc gia, mới đây, một công ty tại Anh đã công bố bảng xếp hạng kích tấc "cậu nhỏ" của các nước trên thế giới. Kết quả, hầu hết các nước xếp ở nhóm đầu của...
"Chim" của chàng trai Việt thuộc...