1. Mô tả lỗi
Dạo trước, tôi có chia sẻ bài viết Send mail with SMTP Gmail Server in Codeginter (ci) và bài viết Code C# send mail with Gmail SMTP server để thực hiện gửi mail từ các ứng dụng. Cả 2 cách trên, đều sử dụng tài khoản gmail (gmail id và password) để thực hiện gửi mail. Tuy nhiên, đến nay chính sách của google có sự thay đổi. Việc sử dụng trực tiếp tài khoản từ các ứng dụng đôi khi phát sinh lỗi như hình bên dưới đây:
2. Cách khắc phục
Để khắc phục lỗi này, bạn cần chuyển việc sử dụng trực tiếp password của tài khoản gmail trong việc gửi mail sang sử dụng mật khẩu của ứng dụng do bạn tạo trên tài khoản của mình. Mật khẩu này được gọi là app passwords.
Vậy làm cách nào để có được app password để điền vào code gửi mail?
Để lấy app password, chúng ta cần thực hiện các bước sau:
Bước 1:
Bật chế độ xác thực 2 bước cho tài khoản mình cần dùng để gửi mail. Bạn có thể tham khảo cách thực hiện ở bài viết Bật xác minh 2 bước cho tài khoản google. Trường hợp tài khoản của bạn đã bật chế độ xác minh 2 bước, bạn vui lòng bỏ qua bước này và thực hiện ngay các bước tiếp theo dưới đây.
Bước 2:
Các bạn cần đăng nhập tài khoản gmail của mình và vào chức năng quản lý tài khoản của google như hình 2.
Hình 2. Vào chức năng quản lý tài khoản của google
Bước 3: Chọn Bảo mật ở menu bên trái rồi chọn chức năng Mật khẩu ứng dụng như hình 3
Bước 4: Google yêu cầu bạn nhập mật khẩu của mình trước khi trước vào quá trình cài đặt. Do đó, bạn hãy nhập mật khẩu của mình vào. Sau đó, bấm nút Tiếp theo như hình 4
Bước 5: Bạn chọn ứng dụng là mail và thiết bị chọn là máy tính người dùng windows sau đó bấm nút Tạo như hình 5
Bước 6: Một popup hiện lên, mật khẩu của ứng dụng chúng ta cần chính là nội dung các ký tự nằm trong khung màu vàng như hình 6.
Bước 7: Điền mật khẩu lấy được ở bước 6 vào code gửi mail của mình là xong bạn nhé.
Hy vọng hữu ích với bạn!
Nosomovo