Mình đã viết nhiều bài hướng dẫn việc cấu hình SMTP trên WordPress và gửi mail bằng SMTP trên WordPress. Tuy nhiên thì bây giờ bạn vẫn chưa thế cấu hình và gửi mail thành công trên blog của mình. Mình cũng đã từng hứa là có viết một bài hoàn chỉnh để hướng dẫn cho các bạn cách khắc phục những sự cố khi cấu hình và gửi mail bằng SMTP trên WordPress.
Hầu hết các hosting đều không hỗ trợ hàm mail vì lý do bảo mật và chống spam. Chưa kể đến là các hosting đều chặn các port liên quan đến gửi mail thông thường và gửi mail thông qua SMTP. Nếu bạn nằm trong số những người sử dụng hosting bị chặn port thì hãy liên hệ với bên cung cấp hosting yêu cầu họ mở lại cho bạn nhé.
Xem thêm: Liên hệ NameCheap mở port gửi mail SMTP
Nếu hosting của bạn không thể gửi mail bằng hàm mail thông thường thì bạn có thể chuyển sang sử dụng các dịch vụ SMTP miễn phí. Trong số đó dịch vụ mail miễn phí tốt nhất đó là Gmail của Google. Mình cũng đã viết bài hướng dẫn cấu hình SMTP Gmail trên WordPress rồi, bạn hãy tìm xem lại bằng cách đọc lại bài viết thông qua đường link bên dưới nhé.
Xem thêm: Cấu hình SMTP Gmail trong WordPress
Nếu bạn sử dụng cách dịch vụ SMTP khác thì cách cấu hình cũng tương tự. Cũng bao gồm thông tin SMTP mail server, port, chế độ bảo mật và tài khoản cũng như mật khẩu đăng nhập. Bài viết này mình chỉ hướng dẫn cách khắc phục sự cố không gửi được SMTP mail trong WordPress.
Mục lục nội dung
- 1 Khắc phục sự cố gửi mail bằng SMTP trên WordPress
- 2 Khắc phục các lỗi khác liên quan đến cấu hình SMTP trên WordPress
Khắc phục sự cố gửi mail bằng SMTP trên WordPress
Có rất nhiều lỗi sẽ dẫn đến việc gửi mail bằng SMTP trên blog của bạn thất bại. Ngoài lỗi bạn cấu hình email sai ra thì còn nhiều vấn đề liên quan đến tài khoản email của bạn cũng như hosting. Thậm chí là bộ code bạn đang sử dụng để phục vụ cho việc gửi mail có hoạt động tốt hay không. Bạn có thể tham khảo danh sách các lỗi bên dưới mà tìm hướng khắc phục sự cố.
- Lỗi do cấu hình SMTP không đúng.
- Lỗi do tài khoản email cấu hình không đúng.
- Lỗi do hosting chặn port gửi mail thông qua SMTP.
- Lỗi do bộ code gửi mail không hoạt động.
- Lỗi do tài khoản email của bạn vượt giới hạn gửi mail miễn phí hàng ngày.
Trong các lỗi mình liệt kê bên trên thì do tài khoản email của bạn cấu hình không đúng và do hosting chặn port là trường hợp thường xảy ra nhất. Mình sẽ hướng dẫn cho các bạn cách khắc phục các lỗi trên theo thứ tự.
1. Lỗi do cấu hình SMTP không đúng
Đây là lỗi cơ bản nhất mà nhiều người hay mắc phải. Mặc dù đã có nhiều bài hướng dẫn rất chi tiết, nhưng các bạn đều đọc qua loa, chỉ đọc tiêu đề và xem làm đại đại. Đây là vấn đề hay gặp nhất, hầu hết mọi người đều cần tìm thông tin trên mạng. Nhưng họ thật sự không quan tâm đến nội dung khi đã click chuột vào xem bên trong, nếu bạn nằm trong số này thì nên thay đổi lại cách tìm kiếm ngay từ bây giờ nhé. Mặc dù sẽ tốn nhiều thời gian để đọc các bài viết từ đầu tới cuối, nhưng sau khi bạn đọc toàn bộ nội dung thì kiến thức của bạn sẽ được nâng cao. Điều này còn hơn là bạn chỉ xem qua loa nhiều trang khác nhau để rồi kiến thức vẫn chưa nắm được gì.
Nếu do lỗi cấu hình SMTP thì bạn có thể tìm kiếm tài liệu của dịch vụ mà bạn đang sử dụng trên mạng. Mình mới chỉ có viết bài hướng dẫn cấu hình dịch vụ SMTP mail của Google thôi.
Các nhà cung cấp dịch vụ SMTP mail đều có tài liệu hướng dẫn riêng cho bạn nhé. Bạn chỉ cần để ý tìm kiếm một chút là có thể tìm thấy tài liệu. Phần này mình sẽ không nhắc lại trong bài viết này.
2. Lỗi do tài khoản email cấu hình không đúng
Nội dung của các bài hướng dẫn cấu hình SMTP mail trên WordPress thì mình đều dùng tài khoản Gmail của Google. Do vậy nếu bạn chưa có tài khoản Gmail thì hãy tạo một cái đi nhé, bạn sẽ thấy được tiện ích của các dịch vụ miễn phí của Google.
Nếu bạn đã có tài khoản Gmail rồi thì bây giờ hãy đăng nhập vào tài khoản của bạn. Sau khi bạn đăng nhập vào tài khoản thành công rồi thì hãy lên Google gõ từ khóa Unlock Gmail captcha, bạn vào kết quả đầu tiên mà bạn nhìn thấy trên kết quả tìm kiếm của Google hoặc nhanh nhất là bạn vào link của mình gửi.
Truy cập link: Mở khóa captcha cho tài khoản Gmail
Bạn vào bên trong đường link mình gửi ở trên, sau đó nhấn tiếp tục để mở khóa cho tài khoản Gmail của bạn. Sau khi làm xong bước này thì bạn thử gửi lại mail lần nữa, nếu mail đã được gửi thành công thì bạn đã làm xong, còn chưa gửi mail được thì bạn tiếp tục đọc xuống dưới nhé.
Nếu bạn đã mở khóa captcha cho tài khoản Gmail rồi mà mail vẫn chưa gửi được thì rất có thể bạn chưa bật cho phép truy cập Gmail trên thiết bị kém an toàn. Bạn đăng nhập vào tài khoản và vào trang quản lý tài khoản của Google. Bạn tìm tới mục Đăng nhập và bật chức năng cho phép truy cập trên thiết bị kém an toàn.
Sau khi bạn đã bật chức năng cho phép truy cập Gmail trên thiết bị kém an toàn, bạn thử gửi mail lại lần nữa xem đã được hay chưa. Nếu chưa được thì bạn chú ý tới cấu hình xác minh 2 bước trên Gmail nhé.
Cấu hình mật khẩu APP đăng nhập SMTP
Trong hình ảnh bên trên là tài khoản mình chưa bật xác minh 2 bước bằng điện thoại. Nếu như tài khoản Gmail của bạn đã bật chức năng này thì bạn phải sử dụng mật khẩu App thì mới đăng nhập được. Bạn không thể cấu hình SMTP bằng mật khẩu gốc của tài khoản.
Đối với tài khoản Gmail đã bật chức năng xác minh 2 bước thông qua điện thoại thì bạn sẽ thấy được phần cài đặt Đăng nhập như hình bên trên. Bây giờ bạn vào mục Mật khẩu ứng dụng và tạo một mật khẩu mới. Sau đó lưu mật khẩu này lại để sử dụng cấu hình trên tất cả các thiết bị.
Bạn nên nhớ là tạo và lưu mật khẩu này lại nhé. Bởi sau khi bạn thoát khỏi trang hiện tại thì bạn không thể thấy được mật khẩu ứng dụng nữa mà bạn chỉ được phép tạo mật khẩu ứng dụng mới mà thôi. Bây giờ bạn quay lại cấu hình SMTP trên WordPress. Bạn sử dụng địa chỉ Gmail và mật khẩu ứng dụng bạn vừa tạo để cài đặt, lưu lại cấu hình và bạn thử gửi mail lại lần nữa xem được hay chưa nhé.
3. Lỗi do hosting chặn port gửi mail thông qua SMTP
Lỗi này cũng không phải là hiếm gặp. Nếu bạn đã thử qua cách 1 và 2 rồi mà vẫn chưa gửi được mail thông qua SMTP Gmail thì nên thông báo với hosting nhờ họ hỗ trợ. Nếu bên hosting không chịu mở port cho bạn thì bạn nên từ nhà cung cấp này ra mà sử dụng dịch vụ hosting của nhà cung cấp khác.
Đã có trường hợp khách hàng báo lại với bên mình rằng đã nhờ bên hosting hỗ trợ, nhưng kỹ thuật bên hosting không giải quyết và đỗ lỗi cho Google. Họ trả lời cho khách hàng rằng do Google ngừng hoặc hạn chế hỗ trợ gửi mail thông qua SMTP, điều này là hoàn toàn sai sự thật.
4. Lỗi do bộ code gửi mail không hoạt động
Cái này cũng có thể xảy ra khi bạn sử dụng một bộ code quá cũ. Bạn nên thường xuyên nâng cấp các plugin cũng như giao diện trên WordPress. Nếu sau khi nâng cấp plugin và giao diện lên phiên bản mới nhất mà vẫn chưa gửi được mail thì bạn có thể tìm plugin khác với tính năng tương tự.
5. Lỗi do tài khoản email của bạn vượt giới hạn gửi mail miễn phí hàng ngày
Đối với các dịch vụ miễn phí, bạn sẽ không được sử dụng toàn bộ tài nguyên. Đây là quy tắc để cho nhà cung cấp duy trì sự hoạt động ổn định của tất cả tài khoản. Khi sử dụng dịch vụ mail miễn phí của Google cũng vậy, tài khoản của bạn phải nằm trong phạm vi cho phép của Google thì mới hoạt động được.
Trường hợp này thì ít gặp. Nếu trang của bạn phát triển cực kỳ tốt, có nhiều lượt người dùng gửi và nhận mail thì mới bị. Nếu bạn phát triển trang web tới mức này thì nên mua một mail server riêng để chạy. Càng phát triển thì bạn sẽ dần chuyển sang sử dụng các dịch vụ có tính phí, hoặc chuyển từ dịch vụ tính phí thấp sang dịch vụ có tính phí cao hơn.
Khắc phục các lỗi khác liên quan đến cấu hình SMTP trên WordPress
Ngoài các lỗi như mình liệt kê bên trên. Sẽ có đôi lúc bạn làm đúng hết nhưng vẫn không gửi SMTP mail được. Nếu bạn gửi mail thử mà gặp lỗi: Warning: stream_socket_enable_crypto(): SSL operation failed with code 1. Bạn mở tập tin functions.php của giao diện lên và thêm vào đoạn code sau:
function hocwp_theme_phpmailer_init_action( $phpmailer ) { if ( ! ( $phpmailer instanceof PHPMailer ) ) { return; } $phpmailer->SMTPOptions = array( 'ssl' => array( 'verify_peer' => false, 'verify_peer_name' => false, 'allow_self_signed' => true ) ); } add_action( 'phpmailer_init', 'hocwp_theme_phpmailer_init_action' );
Bạn lưu code của tập tin functions.php lại. Bây giờ thì bạn có thể thử gửi mail lại xem. Chắc chắn rằng vấn đề của bạn sẽ được giải quyết. Có thể trong phần code bị lỗi văn bản, bạn sao chép và sửa lại cho đúng nhé.
Nếu sau khi đã thử toàn bộ các trường hợp bên trên mà vẫn chưa gửi được mail trên WordPress thông qua SMTP thì bạn nên nhờ người trợ giúp. Bạn có thể thảo luận tại bài viết này, chúc bạn thành công.
Bài viết này mình sẽ vẫn còn cập nhật. Nếu trong tương lai có lỗi phát sinh thì mình sẽ bổ sung thêm. Hy vọng rằng nó sẽ giúp ích được cho bạn trong khâu cấu hình SMTP cho WordPress. Hãy để lại bình luận cùng trao đổi với mọi người bạn nhé.
Mình đã thử fix hết các lỗi như ở trên nhưng vẫn gửi không được, bạn có thể thử dùng postman smtp https://hocwp.net/blog/khong-the-gui-mail-bang-smtp-tren-wordpress/
Bạn thử liên hệ bên host chưa, nếu bạn cấu hình đúng hết mà vẫn không được thì gửi support hỗ trợ nhé.
Bài viết hay, nhờ bài này mà mình đã tìm thấy được nguyên nhân của việc ko gởi mail smtp, cảm ơn cậu nhiều
e dùng smtp của gmail mà trên các trang khác thì gửi đc còn trang hiện tại của e thiết lập giống y vậy nhưng lại ko gửi đc , khi test thử thì nó báo lỗi 500 gì đó ak
Các trang đó có dùng chung host không bạn? Nếu khác host thì vấn đề là ở host của bạn đang dùng.
Mình đang dùng a2 hosting, thời gian đầu gửi được,giờ tự nhiên thấy ko gửi được, không rõ có phải do họ chặn không
Nếu bạn kiểm tra cấu hình đủ kiểu mà vẫn không gửi được thì thử liên hệ bên hosting để hỏi nhé.
Xem video hướng dẫn chi tiết cách khắc phục lỗi ko thể gửi mail bằng SMTP ở đây nhé các bạn https://www.youtube.com/watch?v=Nb6lVGz8QHQ&vl=vi
Mình áp dụng đã gửi mail thành công, nhưng cứ sau 1 thời gian host lại chặn ip của smtp.gmail.com cho vào spam, lại phải liên hệ để họ cho vào whitelist, hỏi thì họ bảo là do ip của smtp.gmail.com thay đổi liên tục.
Bạn dùng hosting của bên nào, mình có gặp trường hợp hosting chặn port thôi chứ không chặn IP, nếu như cả hàm mail và SMTP đều không dùng được thì bạn nên chuyển hosting khác luôn cho tiện.
Chào bạn, mình cũng không gửi đc mail trong WP mặc dù cấu hình theo hướng dẫn, mình đang thử trên vps free trial của google, ko biết có bị google chặn ko nhỉ?
Nếu đã thử hết mọi cách và chắc chắn rằng bạn làm đúng thì thử liên hệ bên hosting nhé. Vì chỉ còn lý do cuối cùng là hosting chặn port mà thôi.
HocWp giúp mình với. Mình đã fix hết các lỗi trên mà vẫn không thể gửi được mail.
1. Mình xài VPS và bên nhà cung cấp đã mở hết các post 465, 587, Pop Mail….
2. Cấu hình đúng
3. Gmail đã nhập mật khẩu xác minh hai bước.
4. Báo lỗi là: SMTP ERROR: Failed to connect to server: (0)SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
Xin hãy giúp mình.
Trân Trọng cảm ơn
Chắc bạn còn thiếu ở một bước nào đó, không biết bạn dùng dịch vụ hosting trong nước hay ở nước ngoài? Nếu đã thử hết mọi cách mà không được thì bạn nên nhờ support bên hosting họ sẽ giúp bạn.
Bác kiểm tra lại xem là đã nhập mật khẩu ứng dụng của tài khoản Google hay là mật khẩu của địa chỉ email bác nhé !
Bạn bên trên bảo là đã làm đúng hết nhưng vẫn không gửi được mail, cái này mình đã từng có kinh nghiệm, lúc trước cũng nghĩ mình làm đúng hết, ai ngờ khi liên hệ với bên hosting nhờ họ giúp thì mình mới nhận ra là thiếu sót tại bước nào.
Đã test thành công cảm ơn bac!
Rất vui khi biết bạn đã làm được.
Mình cũng đã thử mọi cách, làm theo tất các bước ở trên, nhưng vẫn không thể gửi được. Mình sử dụng VPS của DigitalOcean.
Một cái ở Google cloud thì gửi ngon/
Bạn thử bài hướng dẫn cài đặt gửi mail trên VPS này nhé: https://goo.gl/Ur6Ka4
Cảm ơn a. bài viết rất hữu ích
Mình thiết lập đúng rồi, nhưng khi kiểm tra thì nó báo lỗi này” Following error occured when attempting to send test email:
SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting ”
Không biết mình phải khắc phục sao nhĩ !
Bài viết rất hữu ích