Code gửi mail trong asp.net với SMTP gmail

Thảo luận trong 'Lập trình web (PHP, ASP, ASPX, JSP ...)' bắt đầu bởi truongkienthuc, 28/10/13.

Loading...
  1. truongkienthuc

    truongkienthuc Administrator

    Gửi mail là một tính năng không thể thiếu trong lập trình web. Khi gửi người dùng đăng kí, mua hàng,...
    Gửi mail là một tính năng không thể thiếu trong lập trình web. Khi gửi người dùng đăng kí, mua hàng, lấy lại mật khẩu hoặc liên hệ thì gửi mail là điều cần thiết. Hôm nay mình sẽ giới thiệu cho các bạn cách gửi mail thông qua server mail của gmail. Vì đây chỉ là demo cách gửi mail nên mình sẽ làm đơn giản và các bạn tự phát triển thêm theo ý riêng nha.

    Phần giao diện:
    Mã:
    <div>
        Gửi tới:&nbsp;&nbsp;&nbsp;&nbsp;
        <asp:TextBox ID="txtTo" runat="server" Width="280px"></asp:TextBox>
        <br />
        Subject:&nbsp;&nbsp;&nbsp;
        <asp:TextBox ID="txtSubject" runat="server" Width="280px"></asp:TextBox>
        <br />
        Nội dung:&nbsp;
        <asp:TextBox ID="txtConTent" runat="server" Rows="4" TextMode="MultiLine"
            Width="278px"></asp:TextBox>
        <asp:Button ID="btnSend" runat="server" onclick="btnSend_Click"
            Text="Gửi mail" />
    </div>
    Trong code bạn viết gửi mail trong sự kiện btnSend_Click như sau:
    Mã:
    protected void btnSend_Click(object sender, EventArgs e)
    {
        SmtpClient SmtpServer = new SmtpClient();
        SmtpServer.Credentials = new System.Net.NetworkCredential("hungbv2280@gmail.com", "******");
        SmtpServer.Port = 587;
        SmtpServer.Host = "smtp.gmail.com";
        SmtpServer.EnableSsl = true;
        MailMessage mail = new MailMessage();
        String[] addr = txtTo.Text.Split(',');
        try
        {
            mail.From = new MailAddress("hungbv2280@gmail.com",
            "Hung Gui Mail", System.Text.Encoding.UTF8);
            Byte i;
            for (i = 0; i < addr.Length; i++)
                mail.To.Add(addr[i]);
            mail.Subject = txtSubject.Text;
            mail.Body = txtConTent.Text;
            //if (lbAttachFile.Items.Count != 0)
            //{
            //    for (i = 0; i < lbAttachFile.Items.Count; i++)
            //        mail.Attachments.Add(new Attachment(lbAttachFile.Items[i].ToString()));
            //}
            mail.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;
            mail.ReplyTo = new MailAddress(txtTo.Text);
            SmtpServer.Send(mail);
        }
        catch (Exception ex) { }
    }
    Bạn thấy trong hàm btnSend_Click mình dùng dầu "," để phân cách nhiều Email nếu bạn muốn gửi tới hơn 1 người bạn cần phân cách giữa các Email bằng dấu ",".

    Chúc bạn thành công

    Các file đính kèm:

    Loading...

Chia sẻ trang này