Hướng dẫn khắc phục lỗi không gửi được email trong WordPress

Bạn đang gặp lỗi không gửi được email trong WordPress nhưng không biết nguyên nhân và cách khắc phục triệt để? Không gửi được email trong WordPress là một lỗi thường gặp. Trong bài viết này tôi sẽ chia sẻ cách khắc phục lỗi không gửi được email trong WordPress. 

Tại sao bạn không nhận được các email từ WordPress site của mình?

Nguyên nhân phổ biến nhất của lỗi không gửi được email trong WordPress là do máy chủ hosting đã không được cấu hình để sử dụng hàm mail().

Thậm chí nếu họ cho phép nó hoạt động, nhiều nhà cung cấp dịch vụ email dùng một nhiều công cụ khác nhau để hạn chế thư rác. Các công cụ này thường cố phát hiện nguồn gốc của một email, và thường thì các emails được gửi từ WordPress site sẽ không vượt qua được trong cuộc kiểm tra này.

Trong nhiều trường hợp, khi một email được gửi đi từ WordPress site nó thậm chí không bao giờ đến được thư mục Spam. Đó là lý do tại sao bạn không nên dùng WordPress để gửi bản tin qua email.

Đây cũng là lý do tại sao tôi khuyên bạn nên dùng SMTP để gửi các email trong WordPress. SMTP (Simple Mail Transfer Protocol) là một tiêu chuẩn công nghiệp dùng để gửi email. Không giống như hàm mail() của PHP, SMTP sử dụng xác thực phù hợp giúp tăng khả năng gửi email.

Có nhiều dịch vụ SMTP có sẵn, nhưng trong bài viết này tôi sẽ chỉ dùng hai dịch vụ là MailGun và Gmail.

Gởi các email của bạn bằng cách sử dụng Mailgun

Mailgun là một nhà cung cấp dịch vụ email nổi tiếng. Họ cho phép chủ sở hữu của trang web gửi số lượng lớn các email với khả năng phân phối cao.

Là một nhà cung cấp dịch vụ email chuyên dụng, họ dành rất nhiều tiền bạc và thời gian đảm bảo email của bạn được gửi đến nơi nhận.

Mặc dù Mailgun là một dịch vụ trả phí, nó cung cấp miễn phí 10.000 email đầu tiên mỗi tháng. Con số này quá đủ đối với những người mới bắt đầu một blog/website.

Và đây là cách thiết lập WordPress site để sử dụng Mailgun cho việc gửi email.

Đầu tiên, bạn cần đăng ký một tài khoản trên trang chủ của Mailgun. Sau khi đăng nhập, bạn cần nhấp vào menu Domains, tiếp theo nhập tên miền phụ vào sau đó nhấp nút “Add Your Domain” để thêm tên miền.

add domain in mailgun

Giờ bạn có thể nhìn thấy một trang dùng để thêm tên miền. Tại đây bạn cần thêm một tên miền phụ vào tên miền của WordPress site của mình. Ví dụ: mail1.ten-mien-cua-ban.com.

Bạn có thể tạo một tên miền phụ mới trên tên miền hiện tại của mình bằng cách làm theo hướng dẫn bên dưới.

Trước tiên, bạn cần truy cập vào cPanel của tài khoản hosting của mình. Tiếp đó, nhấp vào biểu tượng Subdomains bên dưới phần Domains.

domains

Ở trang tiếp theo, bạn cần nhập tên miền phụ của mình và sau đó chọn tên miền chính từ menu xổ xuống.

subdomains

Sau đó nhấp vào nút Create và bạn sẽ thấy một thông báo rằng tên miền phụ của mình đã được tạo.

Giờ bạn có thể thêm tên miền phụ này vào trang thêm tên miền của Mailgun. Sau khi bạn thêm tên miền, Mailgun sẽ hiển thị cho bạn một số DNS records.

add DNS records for sending

Trở lại cPanel của bạn và sau đó nhấp vào “Zone Editor”.

zone editor

Bạn sẽ được hỏi để chọn tên miền nào mà mình muốn để thay đổi DNS records. Khi bạn đã chọn tên miền chính, bạn sẽ thấy các tuỳ chọn để thêm DNS records mới.

Bạn cần nhập tên miền phụ vào mục đầu tiên trong trường Name và chọn kiểu TXT là records. Sau đó bạn thêm số 14400 vào trường TTL và sao chép giá trị hiển thị trên trang cài đặt xác minh tên miền Mailgun vào trường TXT Data.

Lập lại các thao tác này để thêm các bản ghi TXT khác.

Khi bạn đã thực hiện xong, quay trở lại cPanel và nhấp vào biểu tượng MX Entry.

Bạn sẽ được hỏi để chọn tên miền chính sau đó cuộn xuống phía bên dưới trang. Tại đây bạn có thể nhìn thấy tùy chọn để thêm một MX Entry mới.

Nhập giá trị ưu tiên và đích đến và nhấp vào nút Creat New Record.

Bạn vừa thêm thành công tên miền của mình vào Mailgun. Nó cần xác minh rằng tên miền của bạn có bản ghi DNS thích hợp hay không. Quá trình này có thể sẽ mất một chút thời gian vì bản ghi DNS mất vài phút để cập nhật.

Mailgun sẽ hiển thị trạng thái Active bên cạnh tên miền của bạn khi nó đã xác minh các thay đổi DNS đã thực hiện.

Một khi tên miền của bạn đã được kích hoạt, bạn có thể thiết lập WordPress site để bắt đầu sử dụng Mailgun để gửi email.

Việc đầu tiên bạn cần làm là cài đặt và kích hoạt plugin WP Mail SMTP. Nếu bạn chưa biết cách cài đặt và kích hoạt plugin hãy đọc lại bài viết Hướng dẫn cài đặt và quản lý WordPress plugin.

Sau khi kích hoạt, bạn hãy truy cập vào trang Settings » WP Mail SMTP để cấu hình các cài đặt của plugin. Trước tiên bạn cần cung cấp địa chỉ email người gửi và tên bạn muốn sử dụng cho người gửi.

WP MAIL SMTP SETTINGS

Tiếp theo bạn cần chọn Mailgun để làm Mailer của mình và kích chọn hộp kiểm bên dưới để thiết lập Return Path phù hợp với địa chỉ email.

MAILGUN SENDER

Cuối cùng bạn cần cung cấp khóa API riêng tư Mailgun và tên miền phụ Mailgun. Nhấp vào liên kết ở dưới mỗi trường để nhận thông tin từ tài khoản Mailgun của bạn.

PRIVATE API KEY MAILGUN

Đừng quên nhấp vào nút Save Settings để lưu lại các thay đổi của bạn.

Vậy là xong bạn vừa thiết lập để WordPress site gửi email bằng Mailgun.

Giờ bạn có thể nhấp vào nút “Email Test” trên trang cài đặt của plugin để kiểm tra việc gửi mail và xem thử mọi thứ có hoạt động tốt hay không.

WP MAIL SMTP EMAIL TEST

Gởi WordPress email dùng máy chủ Gmail SMTP

Một lựa chọn khác dùng để gửi WordPress email là dùng máy chủ Gmail SMTP. Với cách này, bạn có thể sử dụng bất kỳ tài khoản Gmail thông thường nào để gửi email của mình. Tuy nhiên email của bạn sẽ được phân phối tốt hơn nếu bạn sử dụng Google Apps for Work với địa chỉ email tùy chỉnh của mình.

Việc đầu tiên bạn cần làm là cài đặt và kích hoạt plugin WP Mail SMTP. Sau khi kích hoạt bạn cần truy cập vào trang  Settings » WP Mail SMTP để tiến hành cấu hình các cài đặt của plugin.

WP MAIL SMTP SETTINGS

Tiếp theo, bạn cần lăn xuống dưới để tìm đến tùy chọn gửi thư. Có 02 cách có thể giúp bạn dùng máy chủ Gmail để gửi WordPress email.

Cách đầu tiên là sử dụng Gmail APIs để gửi các email. Phương pháp này được khuyên dùng vì nó bảo mật và đáng tin cậy. Cách thứ hai là sử dụng máy chủ SMTP của tài khoản Gmail một cách thủ công.

Cách 1: Dùng OAuth Protocol Thiết lập Gmail gởi WordPress Email dùng

Đầu tiên bạn cần chọn Gmail là Mailer của mình bên dưới trang WP Mail SMTP. Kích chọn vào hộp kiểm Set the return-path to match the From Email để đặt đường dẫn trả về giống với người gửi. Nếu bạn không chọn tùy chọn này sẽ làm cho thư trả lại và gửi không thành công bị mất vĩnh viễn.

Gmail mailer

Tiếp theo bạn sẽ nhìn thấy tùy chọn để mình có thể nhập Client ID, Client Secret,và URL trong trường ‘Authorized Redirect URI’.

Tạo App và khóa API cho Gmail

Để dùng Gmail’s APIs gửi WordPress email bạn cần tạo một App và khóa API. Để làm điều đó bạn truy cập vào website Google Developers Console và tạo một Project mới.

Nếu bạn không thấy nút màu xanh để tạo Project, thì bạn có thể nhấp vào “Select a Project” xổ xuống để tạo Project mới.

Bạn sẽ được hỏi để đặt tên cho Project. Hãy đặt tên sao cho dễ nhớ, dễ phân biệt là được.

Nhấp vào nút Create để tiếp tục. Giờ Developer console sẽ tạo cho bạn một Project và đưa bạn đến Dashboard của nó. Google cho phép các developer truy cập vào các dịch vụ và API của họ. Giờ thì Project của bạn đã được thiết lập, bạn cần bật API mà mình cần.

Nhấp vào nút “Enable APIs and services” để tiếp tục. Thao tác này sẽ đưa bạn đến trang thư viện APIs. Nhập từ khóa Gmail trong hộp tìm kiếm để nhanh chóng tìm đến Gmail API và nhấp chọn nó.

Giờ bạn có thể biết được chức năng tổng quát của các API và những điều nó có thể làm được. Chỉ cần nhấp vào nút Enable để tiếp tục.

Giờ thì API đã được kích hoạt, bước cần làm tiếp theo là tạo credentials để dùng trong cài đặt của plugin WP Mail SMTP.

Nhấp vào nút “Create Credentials” để tiếp tục.

Ở màn hình tiếp theo bạn cần chọn “Web browser JavaScript” trong trường “Where you’ll be calling the API from”. Sau đó nhấp vào tùy chọn “User Data”.

Để tiếp tục bạn hãy nhấp vào nút “What credentials do I need?”. 

Giờ bạn sẽ được hỏi để cung cấp tên cho OAuth client của mình. Bạn có thể nhập WP Mail SMTP tại đây.

 

Bên dưới trường Authorized JavaScript orgins, hãy thêm tên miền website của bạn. Tiếp theo bạn cần copy và paste URL chuyển hướng được ủy quyền từ plugin WP Mail SMTP.

Nhấp vào nút “Create client ID” để tiếp tục. Tiếp theo bạn cần nhập tên cho OAuth consent screen. Bạn có thể nhập tên của plugin ở đây.

Nhấp vào nút Continue và Developer Console sẽ hiển thị Client ID của bạn. Bạn có thể copy nó và dán nó vào trong trang cài đặt của plugin WP Mail SMTP. Tuy nhiên bạn sẽ cần khoá bí mật Client.

Nhấp vào nút Done để tiếp tục.

Giờ bạn sẽ được đưa đến trang thông tin đăng nhập cho Project của mình. Bạn sẽ thấy thông tin đăng nhập được tạo gần đây của mình liệt kê ở đây. Nhấp vào nút Edit bên cạnh thông tin đăng nhập của bạn.

Thao tác này sẽ đưa bạn đến trang chỉnh sửa thông tin xác thực, tại đây bạn sẽ có thể thấy khoá bí mật của ứng dụng khách. Bạn cần sao chép và dán khoá trong trang cài đặt của plugin.

Quay trở lại trang cài đặt của plugin trong khu vực quản trị WordPress của bạn. Giờ bạn có cả Client ID và khoá bí mật Client, bạn cần nhấp vào nút Save Settings để tiếp tục.

Plugin sẽ lưu trữ các cài đặt của bạn và tải lại trang. Sau đó bạn cần cuộn xuống bên dưới của trang cài đặt và nhấp vào nút “Allow plugin to send emails using your Google account”. 

Thao tác đó sẽ đưa bạn đến tài khoản Google và bạn sẽ được yêu cầu cấp quyền cho phép trang web được gửi email.

Sau đó bạn sẽ được chuyển hướng trở lại trang web của mình, tại đây bạn sẽ thấy thông báo thành công.

Bạn đã thiết lập thành công để WordPress sử dụng máy chủ SMTP của Gmail để gửi email bằng giao thức OAuth. Giờ bạn có thể nhấp vào thẻ “Email Test” trên trang cài đặt của plugin để gửi email thử nghiệm và xem mọi thứ có hoạt động tốt hay không.

Cách 2: Cấu hình Gmail để gửi WordPress Emails dùng STMP

Cách này cho phép WP Mail SMTP kết nối thủ công đến máy chủ SMTP của Gmail để gửi WordPress Emails.

Trước tiên, bạn cần truy cập vào trang Settings &raquo WP Mail SMTP để cấu hình plugin.

Cung cấp địa chỉ Gmail bạn muốn dùng vào trường From Email và tên của bạn vào trường From Name.

other SMTP

Chọn “Other SMTP” làm Mailer của bạn và kích chọn vào hộp kiểm “Set the return-path to match the From Email”.

Cuộn xuống phần Other SMTP để cấu hình các cài đặt khác.

Dưới đây là cách điền các thông số cho phần Other SMTP:

  • SMTP Host: smtp.gmail.com
  • SMTP Port: 465.
  • Encrytion: Dùng mã hoá SSL.
  • Authentication: Bật xác thực.
  • Username: Địa chỉ Gmail đầy đủ của bạn.
  • Password: Mật khẩu của tài khoản Gmail.

Nhấp vào nút Save Changes để lưu lại các thiết lập của bạn.

Vậy là xong, bạn đã thiết lập thành công WP Mail SMTP để dùng máy chủ SMTP của Google.

Giờ bạn có thể nhấp vào thẻ “Email Test” trên trang cài đặt của plugin để gửi một email và kiểm tra xem nó có hoạt động tốt hay không.

wp mail smtp email test tab

Tôi hy vọng bài viết này sẽ giúp bạn biết cách khắc phục lỗi không gửi được email trong WordPress.

Nếu bạn thấy thích bài viết, đừng quên Like và Share.

Hẹn gặp lại bạn trong các bài viết tiếp theo./.

Đăng ký nhận bài viết mới nhất

Hãy đăng ký nhận tin để nhận được những nội dung thú vị và tuyệt vời!

Để lại bình luận