Một trong những câu hỏi thường gặp nhất trên HoangWeb là cách khắc phục vấn đề WordPress không gửi email. Nhiều người mới sử dụng WordPress hỏi chúng tôi tại sao plugin contact form của họ không gửi email hoặc tại sao họ không thấy bất kỳ thông báo WordPress nào. Trong bài viết này, chúng tôi sẽ chỉ cho bạn cách khắc phục vấn đề WordPress không gửi email.
Tại sao không nhận được email từ WordPress?
Lý do phổ biến nhất cho điều này là máy chủ lưu trữ WordPress của bạn không được cấu hình để sử dụng chức năng mail mail()
của PHP.
Ngay cả khi họ sẽ cho phép nó hoạt động, nhiều nhà cung cấp dịch vụ email sử dụng nhiều công cụ khác nhau để giảm thư rác. Các công cụ này thường cố gắng phát hiện một email có nguồn gốc từ vị trí khác nhau và thường các email được gửi bởi WordPress không thực hiện bài kiểm tra này.
Trong những trường hợp như vậy, khi một email được gửi từ trang web WordPress của bạn, nó thậm chí không được gửi vào thư mục thư rác của gmail hay những dịch vụ email khác. Đây là lý do tại sao chúng tôi khuyên bạn không nên sử dụng hàm mail để gửi email trong WordPress.
Đây cũng là lý do tại sao chúng tôi khuyên bạn nên sử dụng SMTP để gửi email trong WordPress. SMTP (Simple Mail Transfer Protocol) là một tiêu chuẩn để gửi email. Không giống như chức năng thư PHP, SMTP sử dụng xác thực phù hợp làm tăng khả năng gửi email.
Có có sẵn nhiều dịch vụ SMTP miễn phí bạn có thể sử dụng, nhưng trong bài viết này, mình sẽ hướng dẫn hai dịch vụ: MailGun và Gmail.
Gửi email sử dụng MailGun
Mailgun là một nhà cung cấp dịch vụ email phổ biến. Nó cho phép bạn gửi số lượng lớn email với khả năng gửi thành công khá 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 và thời gian để đảm bảo rằng email của bạn đến đích.
Mặc dù Mailgun là một dịch vụ trả phí, nó cung cấp 10.000 email đầu tiên miễn phí mỗi tháng. Điều đó quá đủ cho hầu hết những người mới bắt đầu viết blog hoặc trang web vừa & nhỏ.
Đầu tiên bạn cần đăng ký tài khoản Mailgun. Sau khi đăng ký, bạn cần nhấn vào nút “Add your domain”.
Tại đây, bạn cần thêm một tên miền con cho tên miền web WordPress chính của bạn. Ví dụ: mail1.yourdomain.com.
Bạn có thể tạo một tên miền con mới với tên miền hiện tại của mình bằng cách làm theo các hướng dẫn bên dưới.
Trước tiên, bạn cần truy cập bảng điều khiển cPanel. Tiếp theo, nhấp vào biểu tượng subdomain trong phần tên miền.
Ở trang tiếp theo, bạn nhập tên miền con và chọn tên miền chính từ danh sách.
Sau đó nhấn vào nút “Create” để hoàn tất.
Bây giờ, bạn có thể thêm tên miền con trên trang cấu hình tên miền của MailGun. Sau khi bạn thêm tên miền, MailGun sẽ hiển thị thông tin DNS cho bạn cấu hình.
Quay lại quản trị cPanel và nhấn vào ‘Advanced DNS Zone Editor’.
Bạn sẽ được yêu cầu chọn tên miền mà bạn muốn thay đổi bản ghi DNS. Khi bạn chọn tên miền gốc, bạn sẽ thấy các tùy chọn để thêm bản ghi DNS mới.
Mục TXT đầu tiên sẽ là tên miền phụ của bạn. Bạn cần bắt đầu bằng cách nhập tên miền phụ vào trường Name và sau đó chọn TXT làm loại bản ghi. Sau đó, bạn cần thêm 14400 trong trường TTL và chép giá trị được hiển thị trên trang cài đặt xác minh miền Mailgun vào trường TXT Data.
Lặp lại thao tác này cho bản ghi TXT khác. Sau khi hoàn thành, quay trở lại bảng điều khiển cPanel và nhấn vào biểu tượng ‘MX Entry’.
Bạn sẽ được yêu cầu chọn tên miền chính, sau đó cuộn xuống cuối trang. Ở đó bạn sẽ thấy tùy chọn để thêm mới MX Entry.
Nhập giá trị ưu tiên và đích để tạo bản ghi mới.
Bạn đã thêm thành công tên miền của mình vào Mailgun. Nó sẽ cần xác minh rằng tên miền của bạn có bản ghi DNS. Điều này có thể mất một lúc vì bản ghi DNS có thể mất một thời gian để cập nhật.
Bạn có thể kiểm tra trạng thái xác minh tên miền của mình bằng cách truy cập trang Tên miền trong tài khoản Mailgun của bạn.
Mailgun sẽ hiển thị trạng thái hoạt động bên cạnh tên miền của bạn sau khi nó có thể xác minh các thay đổi DNS bạn đã thực hiện.
Một khi tên miền của bạn được kích hoạt, bạn có thể bắt đầu cấu hình WordPress để gửi email với mailgun.
Đầu tiên, bạn cần cài đặt và kích hoạt plugin WP Mail SMTP. Sau đó, truy cập Settings » WP Mail SMTP để cấu hình plugin. Nhập thông tin như email người gửi, tên người gửi.
Tiếp đến, mục Mailer chọn ‘Mailgun’ & bật tùy chọn ‘Return Path’ để khớp với thông tin ‘From Email’.
Cuối cùng, bạn cần cung cấp khóa API của Mailgun và tên miền mailgun. Nhấp vào các liên kết bên dưới mỗi trường để lấy thông tin này từ tài khoản Mailgun của bạn.
Đừng quên, nhấn nút ‘Save Settings’ để lưu lại thay đổi.
Để chắc chắn email có hoạt động bằng cách nhấn tab ‘Email Test’ để thử gửi email.
Gửi Email sử dụng Gmail SMTP
Một cách khác để gửi email trong WordPress là sử dụng máy chủ Gmail SMTP. Bạn có thể sử dụng bất kỳ tài khoản Gmail thông thường nào với phương thức này để gửi email của mình. Tuy nhiên, khả năng gửi email của bạn sẽ tốt hơn nhiều nếu bạn đang sử dụng Google Apps for Work với địa chỉ email tùy chỉnh của mình.
Cho dù bạn sử dụng địa chỉ Gmail trả phí hay miễn phí, các hướng dẫn còn lại đều giống nhau.
Trước tiên, bạn sẽ cần 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 Settings > WP Mail SMTP để thiết lập cấu hình. Trước tiên, bạn cần cung cấp địa chỉ gmail người gửi trong trường ‘From Email’ và tên bạn muốn hiển thị dưới dạng người gửi.
Tiếp theo, bạn cần cuộn xuống tùy chọn mailer. Có hai cách bạn có thể sử dụng máy chủ Gmail.
Đầu tiên, đó là phương pháp sử dụng API Gmail để gửi email. Phương pháp này được khuyến khích vì nó an toàn và đáng tin cậy hơn. Phương pháp thứ hai là sử dụng tài khoản Gmail như một máy chủ SMTP của bạn theo cách thủ công.
Mình sẽ chỉ cho bạn cả hai phương pháp, tuy nhiên chúng tôi khuyên bạn nên sử dụng phương pháp đầu tiên.
Cách 1: Cấu hình Gmail sử dụng giao thức OAuth
Trước tiên, bạn cần chọn Gmail làm dịch vụ gửi email trong trang cài đặt WP Mail SMTP. Chọn hộp bên cạnh để đặt đường dẫn trở về giống như người gửi, không chọn hộp này sẽ khiến tin nhắn bị trả lại và thất bại.
Tiếp đến, bạn sẽ thấy tùy chọn nhập Client ID, Client Secret, và URL trả về bởi trường ‘Authorized redirect URI’.
Tạo Google App và lấy API cho gmail
Để sử dụng Gmail API, bạn cần tạo app và lấy mã API key. Để thực hiện, chúng ta truy cập vào Google Developers Console và tạo mới project.
Nếu bạn không thấy nút màu xanh ở trên, thì bạn cũng có thể nhấp vào ‘Select a project’ thả xuống và tạo dự án mới.
Bạn sẽ được yêu cầu nhập tên cho dự án của bạn. Đặt cho nó một cái tên có ý nghĩa và dễ nhớ để dễ dàng nhận ra nó.
Nhấn vào nút ‘Create’ để tiếp tục.
Developer console sẽ tạo project và nếu thành công sẽ được chuyển sang bảng điều kiển của dự án bạn vừa tạo. Google cho phép lập trình viên truy cập API của họ và các dịch vụ. Bây giờ bạn cần kích hoạt một vài APIs để sử dụng cho gửi email.
Nhấn vào nút ‘Enable APIs and services’ để tiếp tục. Trên thanh tìm kiếm, gõ ‘Gmail’ và nhấn chọn như hình dưới.
Tiếp tục nhấn nút ‘Enable’.
Bây giờ Gmail API đã được kích hoạt, bước tiếp theo là tạo thông tin đăng nhập (credentials) mà bạn sẽ sử dụng trong trang cài đặt plugin WP Mail SMTP.
Nhấn nút ‘Create credentials’ để tiếp tục.
Trên màn hình kế tiếp, bạn sẽ cần chọn ‘Web browser JavaScript’ cho trường ‘Where you’ll be calling the API from’. Sau đó nhấn vào tùy chọn ‘User Data’.
Để tiếp tục, nhấn vào nút ‘What credentials do I need?’. Bây giờ bạn sẽ phải cung cấp tên xác minh OAuth, ở đây mình nhập ‘WP Mail SMTP’.
Dưới trường ‘JavaScript origins’, thêm tên miền của website của bạn. Sau đó, vạn cần copy và dán thông tin ‘authorized redirect URL’ từ trang cài đặt plugin WP Mail SMTP.
Nhấn vào nút ‘Create client ID’ để tiếp tục.
Tiếp đến, bạn sẽ nhập tên hiển thị khi thực hiện xác thực với Google. Bạn có thể sử dụng tên của plugin như dưới đây:
Nhấn vào nút ‘Continue’ và sau đó bạn nhận được client ID. Chép mã này và dán vào phần cài đặt WP Mail SMTP. Tuy nhiên, bạn cũng cần cả mã client secret.
Nhấn vào ‘Done’. Ngay sau đó bạn sẽ thấy danh sách credentials được tạo, nhấn vào nút sửa ở dòng APi bạn vừa tạo.
Nó sẽ chuyển bạn đến trang sửa credentials tạo đây bạn sẽ nhìn thấy mã khóa client secret. Chép và dán khóa vào trang cài đặt của plugin.
Nhấn vào nút Save Settings để lưu lại và tiếp tục.
Bước kế tiếp sau đây bạn cần nhấn nút ‘Allow plugin to send emails using your Google account’ để thực hiện xác minh google API.
Đây là xác minh OAuth2 bạn sẽ điền tên và mật khẩu người dùng với tài khoản google của bạn sẽ sử dụng để gửi email đi. Nhấn vào nút Allow để đồng ý sử dụng API.
Nếu thành công Google sẽ chuyển hướng URL về website của bạn và hiển thị thông báo thành công. Như vậy là xong.
Để chắc chắn Gmail API có hoạt động bạn chuyển sang tab Email Test để thử gửi mail.
Cách 2: Cấu hình Gmail với SMTP
Phương thức này cho phép plugin WP Mail SMTP kết nối vào máy chủ Gmail SMTP để thực hiện gửi email trong WordPress.
Đầu tiên, bạn cần truy cập trang Settings > WP Mail SMTP để cấu hình SMTP. Ở đây chúng ta chọn phương thức ‘Other SMTP’ & đừng quyên chọn ‘Return Path’. Nhập địa chỉ gmail ở trường From Email và tên hiển thị ‘From Name’.
Cuộn xuống và cấu hình như hình dưới đây.
- SMTP Host: smtp.gmail.com
- SMTP Port: 465
- Encryption: Use SSL encryption
- Authentication: bật
- Username: gmail của bạn, vd: [email protected]
- Password: mật khẩu tài khoản gmail.
Nhấn vào nút Save để lưu lại cấu hình. Trên đây là những cách giúp bạn cấu hình gửi email trong WordPress một cách đúng đắn, với nhiều tùy chọn của plugin WP Mail SMTP cho bạn sử dụng giao thức API và SMTP. Nếu bạn gặp vấn đề gửi email khi sử dụng WordPress đừng ngần ngại để lại bình luận dưới bài viết này để chúng tôi trợ giúp bạn. Chúc bạn thành công.
Nếu bạn thấy bài viết này hữu ích, hãy chia sẻ với bạn bè bằng cách nhấn nút chia sẻ ở bên dưới. Theo dõi chúng tôi trên Twitter và Facebook
Liên hệ
Công ty chuyên Thiết kế website uy tín nhất Miền Bắc: http://vinastar.net
Hotline tư vấn: 0989 48 3456
Nguồn: Sưu tầm trên internet