Các bạn đã biết, do hàm mail() của PHP khi gửi thư không yêu cầu xác thực SMTP (khi gửi thư không cần khai báo địa chỉ gửi và xác thực mật khẩu SMTP để gửi thư hợp lệ), chỉ cần khai báo địa chỉ nhận là có thể gửi thư thành công. Điều này dẫn đến việc máy chủ dễ bị các tổ chức chống spam quốc tế chặn và không thể gửi nhận thư được nữa do bị đưa vào danh sách đen.
Tuy nhiên, các bạn vẫn có thể gửi thư thành công từ website bằng cách sử dụng thư viện PHPMailer khi cấu hình đầy đủ SMTP trong form gửi thư để thực hiện gửi thư hợp lệ. Nếu website được xây dựng trên WordPress, chúng ta có thể sử dụng plugin Easy WP SMTP để cấu hình SMTP, giúp gửi thư từ các form liên hệ hoặc một số form cần thiết khác.
Trong bài viết này Eragant sẽ hướng dẫn bạn cách cấu hình SMTP trên WordPress bằng Plugin và cả bằng code nhé.
1. Cấu hình SMTP bằng Plugin
a. Cài đặt plugin Easy WP SMTP
Để thực hiện cài đặt plugin trên WordPress, chúng ta cần phải login vào quản trị website rồi thực hiện như sau:
– Cài đặt trực tiếp từ phần quản lý Plugins –>> Chọn Add New –>> Ở phần “Keyword” nhập từ khóa “easy wp smtp” rồi thực hiện cài đặt. Sau khi cài đặt xong chúng ta chọn “Active” để kích hoặc plugin.
– Hoặc chúng ta có thể download plugin Easy WP SMTP rồi thực hiện cài đặt theo cách Upload Plugins.
Lưu ý: Nếu bạn có sử dụng plugin WP Mail SMTP by WPForms thì cách cấu hình vẫn tương tự nhé. Nó chỉ khác nhau giao diện sử dụng thôi
b. Tiến hành cấu hình và nhập các thông tin cần thiết
Sau khi kích hoạt Plugin xong thì màn hình Setup SMTP sẽ hiện lên, chọn Let’s Get Started để tiến hành cài đặt.
Bước tiếp theo chúng ta chọn Other SMTP.
Sau đó ta bắt đầu điền thông tin vào các trường cần thiết để tiến hành cấu hình SMTP.
- Máy chủ SMTP: tên SMTP Server mà bạn sử dụng. Nếu bạn sử dụng Gmail để cấu hình thì sẽ là smtp.gmail.com. Nhưng nếu bạn sử dụng một mail tên miền bên 1 nhà cung cấp khác thì bạn phải hỏi Nhà Cung Cấp đó về thông tin này, họ sẽ cung cấp cho bạn.
- Encryption: chọn TLS
- Cổng SMTP: thường là 587 (cổng sẽ tự đổi khi bạn chọn Encryption)
- SMTP Username: tên email của bạn, ví dụ [email protected] hoặc [email protected]…
- Mật khẩu SMTP: Nếu bạn đang sử dụng gmail để cấu hình thì đây là mật khẩu ứng dụng trên Gmail (Eragant sẽ hướng dẫn bạn tạo mật khẩu ứng dụng ở bên dưới bài viết). Còn nếu bạn đang dùng email hosting (Email tên miền, marketing) thì đây là mật khẩu đăng nhập của email đó, ngoài ra bạn cũng có thể hỏi nhà cung cấp để họ gửi cho bạn thông tin.
- Tên email gửi: Tên hiển thị khi email được gửi.
- From Email: Địa chỉ email mà email được gửi từ đó (Cái này thường để chính cái email dùng để cấu hình
Sau khi điền tất cả thông tin trên thì chọn Save and Continue để hoàn tất quá trình cài đặt.
Sau đó để biết SMTP đã hoạt động hay chưa thì chúng ta chỉ cần gửi 1 test email cho 1 địa chỉ email bất kỳ để kiểm tra là được.
2. Cấu hình SMTP không cần dùng Plugin
Thêm đoạn code dưới đây vào file function.php của theme/child theme đang kích hoạt.
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]'; //Email của bạn
$phpmailer->Password = 'Password'; //Mật khẩu ứng dụng
$phpmailer->SMTPSecure = 'TLS';
$phpmailer->From = '[email protected]'; //Email của bạn
$phpmailer->FromName = 'Name'; //Tên người gửi
});
Lưu ý: Nhớ đổi các thông tin của mình vào nhé
3. Hướng dẫn lấy mật khẩu ứng dụng trên Gmail để cấu hình SMTP
Bước 1: Truy cập trang https://myaccount.google.com/
Bước 2: Tại mục Security (bảo mật), kéo xuống 2-Step Verification (bảo mật 2 lớp) kiểm tra xem đã cài đặt chưa. Nếu chưa hãy tiến hành cài đặt theo hướng dẫn của Google nhé (Cứ bấm vào rồi làm theo tường bước nó bảo thôi).
Bước 3: Sau khi hoàn thành việc cài đặt mật khẩu 2 lớp, mở App Passwords (mật khẩu ứng dụng) để tạo mật khẩu riêng cho việc gửi SMTP trong website của bạn. Nếu bạn không tim thấy phần Mật khẩu ứng dụng trên giao diện thì bạn có thể tìm nó trên thanh tìm kiếm (Hình dưới).
- Nhập ô bên trái là Thư, ô bên phải chọn Khác. Sau đó nhập tên ứng dụng mình muốn tạo mật khẩu (Ví dụ ở đây mình nhập là Web SMTP)
- Sau khi đó ta chọn TẠO, lúc này mật khẩu ứng dụng sẽ được cấp như hình dưới (ô màu vàng)
Bước 4: Sau khi đã lấy được mật khẩu ứng dụng thì bạn lưu mật khẩu đó lại và bắt đầu nhập vào thông tin cấu hình SMTP như được hướng dẫn ở trên mục 1 và 2 là được.
Lưu ý: Nếu đổi pass Gmail thì mật khẩu ứng dụng đó sẽ bị mất, bạn nên làm theo hướng dẫn và tạo lại cái mới rồi thay thế vào cấu hình.
Kết lại
Vậy là Eragant đã hướng dẫn bạn cách cấu hình SMTP trên WordPress bằng nhiều cách rồi nhé. Trong quá trình cấu hình nếu bạn vẫn làm chưa được thì đừng ngại nhắn cho Eragant để được hỗ trợ nhé.