Khắc phục lỗi khi sử dụng giao thức smtp của gmail để thực hiện gửi mail

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:

Hình 1: Lỗi Fail to authenticate password smtp gmail

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

Hình 3. Chọn chức năng quản lý mật khẩu ứng dụng (app passwords) trên tài khoản google

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

Hình 4. Nhập mật khẩu tài khoản google của bạn

Bước 5: Bạn chọn ứng dụngmailthiế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

Hình 5. Tạo ứng dụng để lấy mật khẩu

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.

Hình 6. Mật khẩu ứng dụng cần lấy là các ký tự được tô màu vàng

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

Chia sẻ lên