6/25/12

Send Mail trong ASP.NET

Send mail trong ASP.Net sử dụng C# dùng để gửi mail tới 1 hay nhiều người, cho phép đính kèm tệp tin vào email. Việc gửi mail là 1 công việc thường ngày và viết ra 1 chương trình gửi mail thật đơn giản như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 này. 


private void guiMail()
    {
        using (MailMessage newMail = new MailMessage())
        {
            newMail.From = new MailAddress("Địa chỉ thư điện tử của bạn");
            // từ địa chỉ website của bạn  
            newMail.To.Add(txtemail.Text.Trim());
            // gửi cho khách
            newMail.Subject = "Tiêu đề thư điện tử";
            // tiêu đề
            newMail.BodyEncoding = Encoding.UTF8;//Nội dung có dấu
            newMail.SubjectEncoding = Encoding.UTF8;//Tiêu đề có dấu
            newMail.Body = "<html><body>Nội dung";
            newMail.Body += "</body></html>";
            newMail.IsBodyHtml = true;//Chấp nhận code HTML
            SmtpClient smtp = new SmtpClient() { Host = "smtp.gmail.com", Port = 587, EnableSsl = true, Credentials = new System.Net.NetworkCredential("tên địa chị email của bạn", "mật khẩu email của bạn") };
            smtp.Send(newMail);
        }
    }

Để gửi file đính kèm. Chèn code sau vào bên trong hàm guiMail()


Attachment attach = new Attachment(AttachmentPath);
newMail.Attachments.Add(attach);
newMail.Bcc.Add(bcc);


Làm thế nào để kiểm tra địa chỉ email nhập vào có hợp lệ không


System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(@"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*");
                string to = txtemail.Text;
                bool result = regex.IsMatch(to);
                if (result == false)
                {
                    lblthudientu.Text = "Email nhập vào không hợp lệ, kiểm tra email nhập vào đã đúng chưa?";
                    return;
                }

Làm thế nào để gửi được nhiều người cùng lúc:


String[] ALL_EMAILS = to.Split(';');
foreach (string emailaddress in ALL_EMAILS)
{
//Kiểm tra từng địa chỉ email 1 coi có hợp lệ không
//Nếu không cần kiểm tra thì bỏ vòng lặp cũng được
//Mặc định khi gửi mail nó tự động gửi lên nhiều người rồi
}

Còn đây là tất cả dòng code. Chỉ việc copy và chạy


private void guiMail()
    {
        using (MailMessage newMail = new MailMessage())
        {

System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(@"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*");
                string to = txtemail.Text;

String[] ALL_EMAILS = to.Split(';');
foreach (string emailaddress in ALL_EMAILS)
{

                bool result = regex.IsMatch(to);
                if (result == false)
                {
                    lblthudientu.Text = "Email nhập vào không hợp lệ, kiểm tra email nhập vào đã đúng chưa?";
                    return;
                }
}

            newMail.From = new MailAddress("Địa chỉ thư điện tử của bạn");
            // từ địa chỉ website của bạn  
            newMail.To.Add(txtemail.Text.Trim());
            // gửi cho khách
            newMail.Subject = "Tiêu đề thư điện tử";
            // tiêu đề
Attachment attach = new Attachment(AttachmentPath);

newMail.Attachments.Add(attach);
newMail.Bcc.Add(txtattach.Text.Trim());

            newMail.BodyEncoding = Encoding.UTF8;//Nội dung có dấu
            newMail.SubjectEncoding = Encoding.UTF8;//Tiêu đề có dấu
            newMail.Body = "<html><body>Nội dung";
            newMail.Body += "</body></html>";
            newMail.IsBodyHtml = true;//Chấp nhận code HTML
            SmtpClient smtp = new SmtpClient() { Host = "smtp.gmail.com", Port = 587, EnableSsl = true, Credentials = new System.Net.NetworkCredential("tên địa chị email của bạn", "mật khẩu email của bạn") };
            smtp.Send(newMail);
        }
    }


Bookmark and Share

0 comments:

Post a Comment

Next previous home

Cộng đồng yêu thiết kế Việt Nam Thiet ke website, danang