Không thể gửi mail bằng SMTP trên WordPress

Cập nhật lần cuối vào

Mình đã viết nhiều bài hướng dẫn việc cấu hình SMTP trên WordPressgử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ìnhgử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.

Cấu hình gửi mail 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.

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.

Bật chức năng cho phép truy cập Gmail 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.

Đăng nhập Gmail xác thực 2 bước

Đố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ị.

Tạo mật khẩu ứng dụng Gmail

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.

Giới hạn gửi mail với Gmail

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é.

5/5 - (1 bình chọn)
Theo dõi
Thông báo của
guest

23 Comments
Cũ nhất
Mới nhất Được bỏ phiếu nhiều nhất
Phản hồi nội tuyến
Xem tất cả bình luận
Blog maxo
Blog maxo
8 năm trước

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/

Minh
Minh
8 năm trước

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

binhrau
binhrau
8 năm trước

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

Chu Tuấn
7 năm trước

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

PHP Developer
PHP Developer
7 năm trước

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

Minh Cảnh
6 năm trước

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.

Hieu
Hieu
6 năm trước

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ỉ?

Phan Danh Hiếu
6 năm trước

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

Tịnh Nguyễn Blog
6 năm trước
Trả lời  Phan Danh Hiếu

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é !

Sampres.com
6 năm trước

Đã test thành công cảm ơn bac!

iUpCar
6 năm trướ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/

Đỗ Huệ
5 năm trước

Cảm ơn a. bài viết rất hữu ích

Thuận
5 năm trước

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ĩ !

Nguyễn Hào
Nguyễn Hào
4 năm trước

Bài viết rất hữu ích