Hướng dẫn cài SMTP cho WordPress mà không cần dùng plugin một cách đơn giản.
Trong các bài viết trước đây, tôi đã từng hướng dẫn cho các bạn cách cài đặt SMTP cho website WordPress bằng plugin rồi phải không nào? Tuy nhiên, việc sử dụng plugin cũng tồn tại một số điểm yếu. Nếu bạn không thích cài đặt quá nhiều plugin trên website của mình thì đây chính là bài viết dành cho bạn. Hôm nay, tôi sẽ hướng dẫn cho các bạn cách cài SMTP cho WordPress rất đơn giản và nhanh chóng mà không cần sử dụng đến plugin.
Tham khảo thêm:
Tại sao bạn nên cài SMTP bằng code?
- Các plugin thường đi kèm với nhiều tính năng không cần thiết (chẳng hạn như quảng cáo), có thể gây ảnh hưởng tới hiệu suất của website.
- Một số plugin có khả năng bảo mật không tốt, có thể trở thành nguyên nhân khiến website của bạn bị hack. Tham khảo thêm: Easy WP SMTP dính lỗi bảo mật nghiêm trọng, update ngay.
- Cấu hình SMTP bằng code khá đơn giản, bất cứ ai cũng có thể làm được.
Tuy nhiên, phương pháp này chỉ áp dụng được với các dịch vụ SMTP có thể cấu hình bằng username và password, chẳng hạn như Gmail hay Zoho Mail. Nếu bạn sử dụng các dịch vụ SMTP được cấu hình bằng API Key (chẳng hạn như SendGrid, Sendinblue, Mailgun…) thì bắt buộc phải cài đặt plugin để hỗ trợ.
Cài SMTP cho WordPress bằng code
1. Đầu tiên, các bạn cần chèn đoạn code sau đây vào file wp-config.php
của website WordPress:
//* SMTP Email Settings define( 'SMTP_username', 'youremail@gmail.com' ); define( 'SMTP_password', 'your-app-password' ); define( 'SMTP_server', 'smtp.gmail.com' ); define( 'SMTP_FROM', 'youremail@example.com' ); define( 'SMTP_NAME', 'Your Business' ); define( 'SMTP_PORT', '465' ); define( 'SMTP_SECURE', 'ssl' ); define( 'SMTP_AUTH', true ); define( 'SMTP_DEBUG', 0 );
Lưu ý, nó cần phải nằm bên trên dòng:
/* That's all, stop editing! Happy blogging. */
Trong đó:
- Thay
youremail@gmail.com
bằng địa chỉ email dùng đăng ký tài khoản SMTP của bạn. Nếu bạn dùng SMTP của Gmail thì nó chính là địa chỉ Gmail. - Thay
your-app-password
bằng mật khẩu đăng nhập tài khoản SMTP. Nếu tài khoản có bật bảo mật 2 bước thì các bạn cần phải điền mật khẩu ứng dụng thay vì mật khẩu đăng nhập. - Thay
smtp.gmail.com
bằng địa chỉ server SMTP của bạn. Nếu bạn dùng SMTP của Gmail thì địa chỉ sẽ làsmtp.gmail.com
. - Thay
youremail@example.com
bằng địa chỉ email mà bạn muốn dùng để gửi mail (tùy ý). Nó có thể là email với tên miền riêng hoặc địa chỉ Gmail của bạn. - Thay
Your Business
bằng tên người gửi. Nó có thể là tên công ty của bạn hoặc tên bạn (tùy ý). - Thay
465
bằng port SMTP. Các bạn có thể dùng port465
,587
hoặc25
, tùy vào từng nhà cung cấp hosting. - Thay
ssl
bằng giao thức mã hóa phù hợp. Nếu bạn dùng port465
thì điềnssl
, còn nếu dùng port587
hoặc25
thì điềntls
.
2. Tiếp theo, mở file functions.php
của theme hoặc child theme mà bạn đang sử dụng ra và chèn đoạn code sau đây vào bên trong. Các bạn cũng có thể sử dụng plugin Code Snippets để chèn code nhằm tránh chúng bị xóa mất khi update theme.
//* Add SMTP Email Function add_action( 'phpmailer_init', 'my_phpmailer_smtp' ); function my_phpmailer_smtp( $phpmailer ) { $phpmailer->isSMTP(); $phpmailer->Host = SMTP_server; $phpmailer->SMTPAuth = SMTP_AUTH; $phpmailer->Port = SMTP_PORT; $phpmailer->Username = SMTP_username; $phpmailer->Password = SMTP_password; $phpmailer->SMTPSecure = SMTP_SECURE; $phpmailer->From = SMTP_FROM; $phpmailer->FromName = SMTP_NAME; }
3. Lưu lại và kiểm tra kết quả bằng cách thử bình luận, đặt hàng hoặc điền biểu mẫu có trên website của bạn.
Thật đơn giản phải không nào? Chúc các bạn thành công!
Bạn có đang sử dụng dịch vụ SMTP để gửi mail từ website WordPress của mình hay không? Bạn đã làm cách nào để cài SMTP cho WordPress? Hãy chia sẻ nó với chúng tôi thông qua khung bình luận bên dưới.
Nếu bạn thích bài viết này, hãy theo dõi blog của tôi để thường xuyên cập nhật những bài viết hay nhất, mới nhất nhé. Cảm ơn rất nhiều. :)
Cái thông báo bài mới qua email của mình dùng cái gì mà giờ nó ko hoạt động nữa, cái này có thay thế được ko bạn nhỉ?
Mình thấy site của bạn đang dùng subscription form của Jetpack. Jetpack họ dùng hệ thống server riêng của họ để gửi email thông báo chứ không phải gửi email từ host của bạn nhé. :)
À thế để mình cài lại xem sao, cảm ơn Hiếu nhé