Đỉnh NGUYỄN

life's a journey not a destination

Kiểm tra Email trong ASP.NET không dùng Mail Server

Leave a comment


Tôi muốn chia sẽ một kỹ thuật mà có thể nhiều lập trình viên chưa biết. Giả sử bạn tạo ứng dụng và cần kiểm tra module gởi mail ra với số lượng lớn. như Newsletter chẵn hạn. Ý nghĩ đầu tiên sẽ là cấu hình SMTP server để kiểm tra. Tuy nhiên có một thủ thuật bạn có thể dùng để kiểm tra.

Thiết lập web.config như sau:

<system.net>
  <mailSettings>
    <smtp deliveryMethod="SpecifiedPickupDirectory">
      <specifiedPickupDirectory pickupDirectoryLocation="C:\Mails\"/>
    </smtp>
  </mailSettings>
</system.net>

Thuộc tính specifiedPickupDirectory cấu hình thư mục cục bộ cho Simple Mail Transport Protocol (SMTP) server. Thuộc tính pickupDirectoryLocation là thư mục chứa các e-mail được lưu bởi ứng dụng sau khi được xử lý bởi SMTP server. Chắc rằng thư mục này tồn tại trước khi dùng nó.

Được rồi,. Kiểm tra như đoạn mã sau:

protected void btnMail_Click(object sender, EventArgs e)
{
    MailMessage message = new MailMessage("abc@somedomain.com", "abc@abcdefgh.com",
         "Newsletter", "This is a test mail");
     SmtpClient client = new SmtpClient();
     client.Send(message);
}

Chạy ứng dụng và nhấn nút Send. RồI sau đó mở thư mục Mails trong phân vùng C và bạn sẽ nhìn thấy e-mail test ở đây. Cũng giống như bạn có thể kiểm tra module Newsletter mà không cần gởi mail đến một địa chỉ thật sự.

image

Thật tuyệt, nhưng chỉ với và chắc rằng bạn đang dùng IIS, thêm nữa, bạn phải có quyền read-write trên thư mục này.

Advertisements

Author: dinhnn

Senior software developer, a technical leader. You can be reached at via email to dinhnguyenngoc@gmail.com, via my blog at dinhnguyenngoc.wordpress.com, and on Twitter @dinhnguyenngoc.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s