Ngày nay việc sử dụng email trở nên phổ biến hơn bao giờ hết, hầu như mọi lĩnh vực đều sử dụng email để giao tiếp công việc. Nhu cầu thực tế, các lập trình viên cũng có nhu cầu tích hợp email vào trong các dự án của mình phục vụ mục đích gửi báo cáo, nhắc việc, báo cáo sự cố, ...

Bài viết này mình sẽ hướng dẫn gửi Email bằng C# với giao thức SMTP., mình sẽ dùng Gmail để làm ví dụ minh họa.

Chuẩn bị

Cho phép Quyền truy cập của ứng dụng kém an toàn trong thiết lập tài khoản của Google như sau:



Ngoài ra, bạn cần đảm bảo rằng cổng 587 đã được cho phép ở nơi bạn sử dụng mạng. Vì có những công ty, bộ phận IT thường chặn những cổng không cần thiết. Nên trong trường hợp này bạn cần xác nhận với IT System ở chỗ bạn làm nhé.

SMTP là gì?

SMTP (Simple Mail Transfer Protocol - Giao thức truyền thư đơn giản) là một phần của tầng ứng dụng thuộc giao thức TCP/IP. Nó là một chuẩn Internet cho việc truyền thư điện tử (email).  Mặc định cổng TCP được SMTP sử dụng là cổng 25 và nếu SMTP được kết nối được bảo mật với SSL, hay được biết đến là SMTPS sẽ sử dụng cổng 465 làm mặc định.

SMTP Server

SMTP cung cấp một bộ giao thức đơn giản hóa việc giao tiếp email giữa các Email server. Hầu hết các tên máy chủ SMTP được viết dưới dạng tên miền như "smtp.domain.com" hoặc "mail.domain.com".

Ví dụ: tài khoản Gmail sẽ sử dụng smtp.gmail.com.

Xác thực SMTP

Xác thực SMTP (SMTP Authentication hoặc SMTP AUTH), là một phần mở rộng của SMTP. Theo đó, các client (có thể hiểu là những phần mềm sử dụng email hoặc là chương trình mà bạn tự viết) có thể đăng nhập bằng cơ chế xác thực được SMTP server hỗ trợ

Làm sao để gửi email bằng C#?

Framework Microsoft .Net cung cấp namespace là System.Net và System.Net.Sockets để phục vụ cho các giao thức mạng các mà ứng dụng có thể sử dụng để gửi hoặc nhận dữ liệu qua mạng.

C# sử dụng namespace System.Net.Mail để làm việc với email. Mình có viết một đoạn code mẫu dưới đây để minh họa làm sao để gửi email từ tài khoản Gmail. SMTP của Gmail là smtp.gmail.com và sử dụng cổng 587 để gửi email.


Chúc bạn thành công.
Nếu có vấn đề gì, để lại bình luận dưới bài viết bạn nhé.

Post a Comment

Mới hơn Cũ hơn