Để cấu hình SMTP cho plugin Contact Form 7 giúp gửi email ổn định và tránh bị đánh dấu là spam, bạn có thể sử dụng một plugin SMTP như WP Mail SMTP hoặc Easy WP SMTP để đảm bảo rằng tất cả email từ trang web của bạn sẽ được gửi qua máy chủ SMTP của một dịch vụ email (Gmail, Outlook, hoặc máy chủ email riêng). Dưới đây là các bước chi tiết để cấu hình SMTP cho Contact Form 7:

Để Cấu hình SMTP cho plugin Contact form 7
Bước 1: Cài đặt Plugin SMTP
- Truy cập WordPress Dashboard > Plugins > Add New.
- Tìm kiếm WP Mail SMTP by WPForms (hoặc bạn có thể dùng Easy WP SMTP).
- Cài đặt và kích hoạt plugin.
Bước 2: Cấu hình Plugin WP Mail SMTP
- Sau khi kích hoạt plugin, vào WP Mail SMTP trong mục Settings của Dashboard.
- Tại đây, bạn sẽ thấy các tùy chọn để cấu hình SMTP.
- From Email: Nhập địa chỉ email mà bạn muốn gửi thư từ (địa chỉ này phải khớp với tài khoản email mà bạn cấu hình SMTP).
- From Name: Nhập tên người gửi (tên này sẽ hiển thị cho người nhận).
- Mailer: Chọn dịch vụ email bạn muốn sử dụng (Gmail, SMTP, Mailgun, SendGrid, hoặc các dịch vụ khác).
- Chọn SMTP và điền các thông số chi tiết.
Bước 3: Điền thông tin SMTP cho từng dịch vụ email
Dưới đây là thông tin SMTP cho một số dịch vụ email phổ biến:
Gmail/Google Workspace

- SMTP Host:
smtp.gmail.com
- SMTP Port:
587
(hoặc465
cho SSL) - Encryption: Chọn
TLS
(hoặcSSL
nếu bạn dùng cổng465
) - Authentication: Bật
- Username: Địa chỉ email Gmail của bạn
- Password: Mật khẩu ứng dụng (nếu dùng xác thực hai yếu tố, bạn cần tạo mật khẩu ứng dụng trong tài khoản Google)
Lưu ý: Nếu bạn bật xác thực hai yếu tố, bạn sẽ cần tạo mật khẩu ứng dụng thay vì mật khẩu chính. Để tạo mật khẩu ứng dụng:
- Vào My Account của Google > Security > App Passwords.
- Link ứng dụng: https://security.google.com/settings/security/apppasswords
- Chọn ứng dụng là Mail và thiết bị là Other.
- Sao chép mật khẩu ứng dụng được cung cấp và sử dụng cho cấu hình SMTP.
Outlook/Office 365

- SMTP Host:
smtp.office365.com
- SMTP Port:
587
- Encryption:
TLS
- Authentication: Bật
- Username: Địa chỉ email Outlook của bạn
- Password: Mật khẩu email
Tương tự như Gmail, nếu bạn sử dụng xác thực hai yếu tố, hãy tạo mật khẩu ứng dụng trong phần Security của tài khoản Microsoft.
Cấu hình SMTP Zoho Mail:

Zoho Mail cung cấp SMTP cho cả tài khoản miễn phí và trả phí. Bạn cần tạo tài khoản Zoho để sử dụng dịch vụ này.
- SMTP Server:
smtp.zoho.com
- Port:
587
(TLS) hoặc465
(SSL) - Encryption:
TLS/SSL
- Username: Địa chỉ email Zoho của bạn (ví dụ:
your-email@zoho.com
) - Password: Mật khẩu tài khoản Zoho
Tạo tài khoản SMTP trên máy chủ email riêng
Nếu bạn có máy chủ email riêng, bạn có thể tạo tài khoản SMTP thông qua dịch vụ cung cấp bởi máy chủ đó, như cPanel hoặc Plesk.
Cấu hình SMTP cho máy chủ email riêng (ví dụ với cPanel):
- Truy cập cPanel và tạo một email trong phần Email Accounts.
- Lưu lại các thông số SMTP, bao gồm:
- SMTP Server: Thường là
mail.yourdomain.com
(thayyourdomain.com
bằng tên miền của bạn). - Port:
587
hoặc465
, tùy thuộc vào cài đặt mã hóa. - Username: Địa chỉ email bạn vừa tạo (ví dụ:
contact@yourdomain.com
) - Password: Mật khẩu của tài khoản email
- SMTP Server: Thường là
Bước 4: Kiểm tra kết nối SMTP
- Trong WP Mail SMTP settings, có một mục Email Test.
- Nhập một địa chỉ email để kiểm tra xem cấu hình SMTP đã hoạt động chưa.
- Nếu bạn nhận được email thử nghiệm, cấu hình SMTP đã thành công.
Bước 5: Cấu hình Contact Form 7 để gửi email qua SMTP
Vì tất cả email gửi đi từ WordPress sẽ đi qua cấu hình SMTP mới của bạn, không cần phải chỉnh sửa gì thêm trong Contact Form 7. Chỉ cần đảm bảo rằng địa chỉ email người gửi (From Email) khớp với cấu hình SMTP để tránh lỗi xác thực.
Cấu hình smtp bằng Code cho Contact form 7
Bước 1: Mở file functions.php
- Trong WordPress Dashboard, đi đến Appearance > Theme File Editor.
- Chọn file
functions.php
trong theme hoặc child theme của bạn. - Thêm đoạn mã sau vào cuối file
functions.php
.
Bước 2: Thêm mã cấu hình SMTP
Dưới đây là mã cấu hình SMTP sử dụng PHPMailer:
1 2 3 4 5 6 7 8 9 10 11 12 | function tunlw_custom_smtp_config( $phpmailer ) { $phpmailer->isSMTP(); $phpmailer->Host = 'smtp.gmail.com'; // Thay thế bằng SMTP host của bạn $phpmailer->SMTPAuth = true; $phpmailer->Port = 587; // Thông thường là 587 cho TLS hoặc 465 cho SSL $phpmailer->SMTPSecure = 'TLS'; // Chọn 'TLS' hoặc 'SSL' tùy vào máy chủ SMTP $phpmailer->Username = 'your-email@gmail.com'; // Địa chỉ email SMTP $phpmailer->Password = 'your-email-password'; // Mật khẩu hoặc mật khẩu ứng dụng $phpmailer->From = 'your-email@gmail.com'; // Địa chỉ email người gửi $phpmailer->FromName = 'Your Name'; // Tên người gửi (tùy chọn) } add_action( 'phpmailer_init', 'tunlw_custom_smtp_config' ); |
Giải thích các tham số
$phpmailer->isSMTP();
: Kích hoạt phương thức gửi email qua SMTP.$phpmailer->Host
: Địa chỉ máy chủ SMTP (ví dụ:smtp.gmail.com
cho Gmail,smtp.office365.com
cho Outlook).$phpmailer->SMTPAuth
: Kích hoạt xác thực SMTP.$phpmailer->Port
: Sử dụng587
choTLS
hoặc465
choSSL
, tùy thuộc vào nhà cung cấp dịch vụ.$phpmailer->SMTPSecure
: Loại mã hóa,tls
hoặcssl
.$phpmailer->Username
: Địa chỉ email dùng để gửi email.$phpmailer->Password
: Mật khẩu hoặc mật khẩu ứng dụng cho tài khoản email.$phpmailer->From
: Địa chỉ email người gửi (phải khớp với$phpmailer->Username
).$phpmailer->FromName
: Tên hiển thị của người gửi.
Mẹo khắc phục sự cố SMTP
- Kiểm tra địa chỉ email: Đảm bảo địa chỉ email của bạn khớp với tài khoản cấu hình SMTP.
- Kiểm tra cổng và mã hóa: Một số nhà cung cấp yêu cầu mã hóa và cổng cụ thể, hãy xác nhận thông tin này với nhà cung cấp.
- Kích hoạt xác thực hai yếu tố: Với Gmail hoặc các dịch vụ yêu cầu xác thực hai yếu tố, hãy tạo mật khẩu ứng dụng.
Với cấu hình SMTP, email từ Contact Form 7 sẽ được gửi đi ổn định và tránh tình trạng vào mục Spam của người nhận.
Sử dụng Dịch vụ SMTP chuyên nghiệp (Mailgun, SendGrid, Amazon SES)
Nếu bạn muốn gửi email với số lượng lớn và ổn định, bạn có thể cân nhắc các dịch vụ SMTP chuyên nghiệp. Các dịch vụ này thường miễn phí trong giới hạn nhất định và có phí khi dùng nhiều hơn.
- Mailgun: Cung cấp 5.000 email miễn phí trong tháng đầu tiên.
- SendGrid: Cung cấp gói miễn phí cho 100 email mỗi ngày.
- Amazon SES: Chi phí thấp và đáng tin cậy, nhưng cần đăng ký và xác minh.
Việc tạo tài khoản SMTP sẽ giúp bạn gửi email từ website một cách đáng tin cậy và chuyên nghiệp hơn, đồng thời giảm nguy cơ email bị đánh dấu là spam. Sau khi có tài khoản SMTP, bạn có thể cấu hình nó trong WordPress hoặc sử dụng mã PHP để kết nối và gửi email.