Đã lâu rồi lại có task gửi email từ phần mềm. Khách hàng có yêu cầu cấu hình gửi bằng gmail hoặc có thể gửi bằng SendGrid. Nhân tiện viết hướng dẫn cấu hình tài khoản gmail ở trạng thái kém bảo mật và gửi email bằng code c# luôn.

1. Dưới đây là code gửi email
var smtp = new SmtpClient();
var mail = new MailMessage();

smtp.EnableSsl = true;
smtp.Credentials = new NetworkCredential("taikhoan@gmail.com", "xx mật khẩu của taikhoan@gmail.com");

mail.From = new MailAddress("taikhoan@gmail.com", "Tên người gửi");
mail.BodyEncoding = mail.SubjectEncoding = Encoding.UTF8;
mail.IsBodyHtml = true;
mail.Priority = MailPriority.High;

mail.Body = "Nội dung email - có thể có cả thẻ html";
mail.Subject = "Tiêu đề của Email";
mail.To.Add("email_nguoi_nhan@mail.com");
​
smtp.Host = "smtp.gmail.com";
smtp.Port = 587;
smtp.Send(mail);

Đoạn code trên các bạn có thể cấu hình smtp.Hostsmtp.Port từ Mail Hosting của các bạn. Trong trường hợp này mình sử dụng smtp.gmail.com cổng là 587. Tuy nhiên để có thể sử dụng tài khoản gmail gửi email đi trong code C# các bạn phải thiết lập tài khoản gmail về chế độ không an toàn thì mới có thể thực hiện được.

2. Thiết lập chế độ không an toàn cho tài khoản gmail

Trước hết phải khuyên các bạn nên tạo một tài khoản gmail chỉ dành riêng cho việc gửi email. Vì khi để ở chế độ không an toàn thì khi tài khoản của bạn được đăng nhập ở các thiết bị, máy tính khác sẽ không nhận được cảnh báo từ google nữa.

Để thiết lập chế độ không an toàn bạn có thể vào đường link https://myaccount.google.com/u/3/security?gar=1 

Click bật quyền truy cập

Ở mục "Quyền truy cập của ứng dụng kém an toàn" bạn chọn "Bật quyền truy cập (không nên)" nếu như đang ở chế độ "Đang tắt". Tất nhiên là bạn thấy google cảnh báo là không nên. Vì vậy mà ở các bạn nên tạo một tài khoản gmail chỉ chuyên gửi email thôi.

Như vậy là đã hoàn tất việc thiết lập chế độ không an toàn. Còn một bước nữa. Là các bạn hãy chạy đoạn code gửi email với tài khoản gmail của mình. Lúc này google sẽ phát hiện ra tài khoản của các bạn đã được đăng nhập từ code C# để thực hiện gửi email và bạn cần phải xác minh thông qua mục "Hoạt động bảo mật gần đây".

Hoạt động gần đây của tài khoản

Nếu biểu tượng cái khiên tích chữ V nghĩa là hoạt động này đã được bạn xác minh là của bạn. Còn biểu tượng cái khiên chữ x nghĩa là hoạt động này chưa được xác minh. Click vào hoạt động cần xác minh và thực hiện xác minh là các bạn đã hoàn tất.

Chọn "Có, tôi là người thực hiện"

Như vậy với các bước trên là các bạn có thể gửi email bằng code C# của mình.

Sơn 20