Cách cài đặt SMTP cho WordPress

26 Tháng Sáu, 2024

Gần đây hiện tượng người dùng trên WordPress không nhận được Email thông báo đơn hàng trên Woocommerce hay các thông tin từ form Contact Form 7 dẫn tới bị giảm sự trải nghiệm của khách hàng cũng như quản lý theo dõi sản phẩm hay thông tin người dùng trên Website. Bài viết này mình sẽ hướng dẫn bạn cách nhận được Email thông báo bằng cách thiết lập SMTP trên website WordPress.

SMTP là gì?

SMTP (Simple Mail Transfer Protocol) là giao thức TCP/IP được dùng để gửi email trên internet. Nó thiết lập kênh kết nối giữa mail client và mail server, và thiết lập kênh liên lạc giữa mail server gửi và mail server nhận. Email sẽ được đẩy từ mail client lên mail server và từ mail server nó sẽ được server này gửi đi đến mail server nhận. Nhìn hình dưới bạn sẽ thấy cách hoạt động của việc gửi mail:

Cách lấy thông tin SMTP của Gmail

Để gửi form trong WordPress các bạn có thể dùng SMTP của Gmail hoàn toàn miễn phí, mình dùng từ lâu rồi khá ổn, miễn là không vi phạm quy tắc của Gmail là được, và đặc thù nữa là SMTP của Gmail sẽ giới hạn gửi 2000 email/ngày.

Để lấy thông tin SMTP bạn cần đáp ứng 2 điều kiện sau:

  • Có tài khoản Gmail
  • Tài khoản Gmail bật bảo mật 2 lớp

Các bạn vào trang sau: https://myaccount.google.com/.

Trang quản trị sau khi bạn đăng nhập
Trang quản trị sau khi bạn đăng nhập

Các bạn ấn vào bảo mật ở sidebar bên trái màn hình.

Ấn vào Bảo mật ở bên trái màn hình
Ấn vào Bảo mật ở bên trái màn hình
Tại đây các bạn ấn vào Xác minh 2 bước để bật Bảo mật 2 lớp của Google
Tại đây các bạn ấn vào Xác minh 2 bước để bật Bảo mật 2 lớp của Google

Sau khi bật xong Xác minh 2 bước lúc này tại trang Bảo mật của bạn hiển thị như sau:

Bảo mật 2 lớp được thành công
Bảo mật 2 lớp được thành công

Lấy mật khẩu ứng dụng

Các bạn ấn vào Mật khẩu ứng dụng sẽ hiện ra giao diện như sau:

Lấy mật khẩu ứng dụng
Lấy mật khẩu ứng dụng
Chọn Ứng dụng các bạn chọn Thư, còn Chọn Thiết bị chọn gì cũng được sau đó ấn TẠO
Chọn Ứng dụng các bạn chọn Thư, còn Chọn Thiết bị chọn gì cũng được sau đó ấn TẠO
 knmhs2gisvnvycsw là mật khẩu ứng dụng các bạn cần giữ bí mật
knmhs2gisvnvycsw là mật khẩu ứng dụng các bạn cần giữ bí mật

Vậy là xong các bước lấy mã ứng dụng SMTP của Gmail, với mã này các bạn thực hiện 1 trong 2 cách dưới sau để có thể gửi mail hay form trong WordPress nhé.

Thiết lập SMTP dùng Plugin WP Mail SMTP

Mặc định WordPress dùng hàm wp_mail() để gửi mail và nó sẽ lấy các thông số SMTP của host hiện tại đang dùng. Vì vậy nếu bạn muốn dùng một SMTP bên ngoài để áp dụng cho các tính năng gửi mail thì bạn có thể sử dụng plugin WP Mail SMTP để thiết lập lại thông số SMTP.

WP Mail SMTP by WPForms là Plugin mà các bạn cần Cài đặt
WP Mail SMTP by WPForms là Plugin mà các bạn cần Cài đặt

Sau khi cài đặt xong, các bạn vào trang quản trị của WP Mail SMTP, rồi điền đầy đủ các thông số:

Điền email vào khung nhập
Điền email vào khung nhập
Phương thức gửi mail các bạn để Other SMTP
Phương thức gửi mail các bạn để Other SMTP
Mã hóa các bạn để SSL hay TLS đều được, nếu là TLS thì SMTP Port sẽ là 587, còn SSL SMTP Port sẽ là 465
Mã hóa các bạn để SSL hay TLS đều được, nếu là TLS thì SMTP Port sẽ là 587, còn SSL SMTP Port sẽ là 465
  • SMTP Host là smtp.gmail.com
  • Username phải là địa chỉ email của bạn thuộc tài khoản đã lấy App Password
  • Password chính là App Password của bạn vừa lấy ở trên

Lúc này các bạn ấn Save Setting là xong, để kiểm tra cho chắc lần nữa các bạn chuyển sang tab Email Test, nhập Email của bạn và ấn Send Email:

Điền Email để kiểm tra SMTP
Điền Email để kiểm tra SMTP

Nếu báo như này và nhận được email là ok bạn nhé:

Thông báo gửi mail thành công
Thông báo gửi mail thành công
Mail gửi thành công
Mail gửi thành công

Thiết lập SMTP không dùng Plugin

Bạn chèn đoạn này vào functions:

add_action( 'phpmailer_init', function( $phpmailer ) {
    if ( !is_object( $phpmailer ) )
    $phpmailer = (object) $phpmailer;
    $phpmailer->Mailer     = 'smtp';
    $phpmailer->Host       = 'smtp.gmail.com';
    $phpmailer->SMTPAuth   = 1;
    $phpmailer->Port       = 587;
    $phpmailer->Username   = '[email protected]';
    $phpmailer->Password   = 'matkhauungdung';
    $phpmailer->SMTPSecure = 'TLS';
    $phpmailer->From       = '[email protected]';
    $phpmailer->FromName   = 'Gini Webseo - giniwebseo.vn';
});
  • Username bạn truyền email của bạn
  • Password là mật khẩu ứng dụng
  • From làm email gởi đi,
  • FromName là tên của email hiện thị
  • Còn lại bạn có thể để mặc định
0 0 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest
0 Góp ý
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
Tin tức liên quan
Hitbox và Hurtbox trong Unity3D
Phàm từ xưa đến nay, nhiều chuyện nghĩ thì đơn giản nhưng lúc bắt tay vào làm thì gặp rất nhiều vấn đề đau đầu. Ví dụ khi một...
C# Extension trong Unity: Delay Action Coroutine
Việc chờ một khoảng thời gian rồi gọi một (hoặc nhiều) hàm trong một project thì cách đơn giản nhất là sử dụng Coroutine. Cách thông thường nhất là...
Tương tác với Object đa nền tảng trong Unity
Với phần lớn game trên smartphone, việc tương tác với object trong game đa phần là dùng ngón tay. Vấn đề đặt ra ở đây là việc phát triển...
0
Rất thích suy nghĩ của bạn, hãy bình luận.x