Hướng dẫn cấu hình gửi mail SMTP WordPress

Tại sao WordPress cần cấu hình SMTP để gửi mail?

Mặc định, WordPress sử dụng hàm wp_mail() dựa trên PHP mail() để gửi email. Tuy nhiên, phương thức này có tỉ lệ rơi vào thư mục spam rất cao vì thiếu xác thực danh tính người gửi. Nhiều nhà cung cấp hosting thậm chí vô hiệu hóa hoàn toàn hàm PHP mail() để bảo mật hệ thống.

Giải pháp tối ưu là cấu hình SMTP (Simple Mail Transfer Protocol) thông qua một dịch vụ email uy tín như Gmail. Khi dùng SMTP, email được gửi qua máy chủ xác thực, giúp tăng tỉ lệ vào hộp thư đến, đảm bảo thông báo đơn hàng WooCommerce, email xác nhận tài khoản và các form liên hệ hoạt động ổn định.

Bài viết này hướng dẫn chi tiết 2 cách cấu hình gửi mail SMTP cho WordPress bằng Gmail mới nhất là: sử dụng plugin WP Mail SMTP và sử dụng code trực tiếp trong functions.php. Nếu bạn cần hỗ trợ trong quá trình cài đặt, đội ngũ kỹ thuật tại ThemeWP.vn luôn sẵn sàng giải đáp.

Thông tin cấu hình SMTP Gmail cần chuẩn bị

Trước khi bắt đầu cấu hình, bạn cần nắm rõ các thông số kỹ thuật của máy chủ SMTP Gmail. Đây là thông tin chính xác và cập nhật cho năm 2026:

  • SMTP Server: smtp.gmail.com
  • SMTP Port (TLS): 587
  • SMTP Port (SSL): 465
  • Mã hóa: TLS hoặc SSL (bắt buộc)
  • Xác thực: Bắt buộc (SMTP Authentication)
  • SMTP Username: Địa chỉ Gmail đầy đủ của bạn (ví dụ: yourname@gmail.com)
  • SMTP Password: Mật khẩu ứng dụng (App Password) do Google cấp, không phải mật khẩu đăng nhập Gmail thông thường

Lưu ý quan trọng: Kể từ năm 2022, Google đã ngừng hỗ trợ đăng nhập bằng mật khẩu thông thường cho ứng dụng bên thứ ba. Bạn bắt buộc phải tạo Mật khẩu ứng dụng (App Password) theo hướng dẫn bên dưới.

Cách lấy mật khẩu ứng dụng Gmail để dùng cho SMTP

Mật khẩu ứng dụng là một mật khẩu 16 ký tự do Google tạo riêng, cho phép ứng dụng bên ngoài (như WordPress) truy cập tài khoản Gmail của bạn một cách an toàn mà không cần dùng mật khẩu chính.

Bước 1: Bật xác minh 2 bước cho tài khoản Google

Truy cập myaccount.google.com, đăng nhập vào tài khoản Gmail của bạn, sau đó chọn mục Bảo mật trong menu bên trái. Tìm phần Xác minh 2 bước và bật tính năng này nếu chưa kích hoạt. Google yêu cầu xác minh 2 bước được bật trước khi cho phép tạo mật khẩu ứng dụng.

Hướng dẫn cấu hình gửi mail SMTP WordPress

Bước 2: Tạo mật khẩu ứng dụng (App Password)

Sau khi bật xác minh 2 bước, quay lại trang Bảo mật và tìm mục Mật khẩu ứng dụng (App passwords). Nếu không thấy mục này, bạn có thể truy cập trực tiếp tại địa chỉ myaccount.google.com/apppasswords.

Tại giao diện tạo mật khẩu ứng dụng, bạn thực hiện theo các bước:

  1. Nhấn vào ô Chọn ứng dụng trong danh sách xổ xuống.
  2. Chọn tùy chọn “Khác (Tên tùy chỉnh)” ở cuối danh sách.
  3. Nhập tên tùy ý để nhận diện, ví dụ: WordPress SMTP hoặc tên website của bạn.
  4. Nhấn nút “Tạo”.

Google sẽ hiển thị một mật khẩu gồm 16 ký tự trên màn hình. Hãy sao chép và lưu lại ngay vì mật khẩu này chỉ hiển thị một lần duy nhất. Đây chính là giá trị bạn sẽ dùng cho trường SMTP Password trong bước cấu hình tiếp theo.

Hướng dẫn cấu hình gửi mail SMTP WordPress

Hướng dẫn cấu hình gửi mail SMTP WordPress

Hướng dẫn cấu hình gửi mail SMTP WordPress

Hướng dẫn cấu hình gửi mail SMTP WordPress

Hướng dẫn cấu hình gửi mail SMTP WordPress bằng plugin

Đây là cách được khuyến nghị cho hầu hết người dùng WordPress, đặc biệt là những ai không muốn chỉnh sửa code trực tiếp. Plugin WP Mail SMTP by WPForms hiện là plugin SMTP phổ biến nhất với hơn 4 triệu lượt cài đặt tích cực, giao diện trực quan và hỗ trợ nhiều nhà cung cấp dịch vụ email.

Bước 1: Cài đặt và kích hoạt plugin WP Mail SMTP

  1. Đăng nhập vào bảng điều khiển WordPress (WordPress Admin).
  2. Vào PluginsThêm mới.
  3. Trong thanh tìm kiếm, nhập từ khóa WP Mail SMTP.
  4. Tìm plugin WP Mail SMTP by WPForms trong kết quả và nhấn Cài đặt ngay.
  5. Sau khi cài đặt hoàn tất, nhấn Kích hoạt để bắt đầu sử dụng.

Bước 2: Mở trang cài đặt WP Mail SMTP

Sau khi kích hoạt plugin, trong menu bên trái của WordPress Admin sẽ xuất hiện mục WP Mail SMTP. Nhấn vào đó để mở giao diện cài đặt. Bạn cũng có thể truy cập qua SettingsWP Mail SMTP. Plugin sẽ hiển thị wizard cài đặt lần đầu, bạn có thể bỏ qua để vào cấu hình thủ công.

Bước 3: Khai báo thông tin kết nối máy chủ SMTP Gmail

Trong trang cài đặt WP Mail SMTP, điền đầy đủ thông tin theo hướng dẫn sau:

  • From Email: Nhập địa chỉ Gmail của bạn (ví dụ: yourname@gmail.com). Đây là địa chỉ sẽ hiển thị khi người nhận thấy email từ website.
  • From Name: Nhập tên hiển thị, ví dụ: tên website hoặc tên thương hiệu của bạn.
  • Mailer (Dịch vụ gửi email): Chọn Other SMTP (SMTP Khác).
  • SMTP Host: Nhập smtp.gmail.com
  • Encryption (Mã hóa): Chọn TLS (khuyến nghị) hoặc SSL tùy cấu hình hosting.
  • SMTP Port: Chọn 587 nếu dùng TLS, hoặc 465 nếu dùng SSL.
  • Authentication (Xác thực): Bật ON.
  • SMTP Username: Địa chỉ Gmail đầy đủ của bạn.
  • SMTP Password: Dán Mật khẩu ứng dụng 16 ký tự đã tạo ở bước trên vào đây.

Sau khi điền xong toàn bộ thông tin, nhấn nút Lưu cài đặt (Save Settings) để hoàn tất.

Bước 4: Kiểm tra gửi mail thử nghiệm

Sau khi lưu cài đặt, việc kiểm tra xem cấu hình có hoạt động đúng hay không là bước không thể bỏ qua. Trong giao diện WP Mail SMTP, chuyển sang tab Tools (Công cụ) và chọn Email Test (Kiểm tra Email).

Nhập địa chỉ email nhận vào ô Send To, sau đó nhấn Send Email. Nếu cấu hình đúng, bạn sẽ nhận được thông báo thành công trên màn hình và email test sẽ xuất hiện trong hộp thư đến của địa chỉ bạn nhập. Nếu gặp lỗi, hãy kiểm tra lại mật khẩu ứng dụng và đảm bảo xác minh 2 bước đang được bật.

Cấu hình gửi mail SMTP WordPress bằng code (không dùng plugin)

Nếu bạn muốn giữ website gọn nhẹ, không phụ thuộc thêm plugin, có thể cấu hình SMTP trực tiếp bằng cách thêm code vào file functions.php của theme hoặc child theme đang kích hoạt. Đây là cách phù hợp với những bạn có kiến thức kỹ thuật về WordPress và muốn kiểm soát hoàn toàn cấu hình.

Cấu hình SMTP bằng Gmail

Thêm đoạn code dưới đây vào cuối file functions.php của theme đang dùng. Thay thế gmailcuaban@gmail.com bằng địa chỉ Gmail của bạn và matkhauungdung bằng mật khẩu ứng dụng 16 ký tự đã tạo:

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   = 'gmailcuaban@gmail.com';
    $phpmailer->Password   = 'matkhauungdung';
    $phpmailer->SMTPSecure = 'tls';
    $phpmailer->From       = 'gmailcuaban@gmail.com';
    $phpmailer->FromName   = 'Tên website của bạn';
});

Lưu ý: Từ WordPress 5.5 trở lên, tham số $phpmailer trong hook phpmailer_init là một instance của lớp PHPMailer\PHPMailer\PHPMailer. Nếu bạn dùng WordPress 6.x, đoạn code trên hoàn toàn tương thích.

Cấu hình SMTP bằng email hosting

Nếu bạn sử dụng email doanh nghiệp đi kèm với hosting (ví dụ: info@tendomain.com), hãy dùng đoạn code sau thay thế. Thông tin SMTP Host, Username, và Password lấy từ trang quản trị email hosting (cPanel, DirectAdmin hoặc Plesk):

add_action( 'phpmailer_init', 'configure_smtp' );

function configure_smtp( PHPMailer $phpmailer ) {
    $phpmailer->isSMTP();
    $phpmailer->Host       = 'mail.tendomain.com'; // hostname hoặc IP hosting
    $phpmailer->SMTPAuth   = true;
    $phpmailer->Port       = 587; // hoặc 465 (SSL), 25
    $phpmailer->Username   = 'info@tendomain.com';
    $phpmailer->Password   = 'matkhau_email';
    $phpmailer->SMTPSecure = 'tls'; // 'ssl' nếu dùng port 465
    $phpmailer->From       = 'info@tendomain.com';
    $phpmailer->FromName   = 'Tên doanh nghiệp';
}

Đối với email hosting thông thường, port mặc định thường dùng là 587 (TLS) hoặc 465 (SSL). Port 25 đôi khi bị chặn bởi ISP, vì vậy nên ưu tiên dùng 587 hoặc 465.

So sánh 2 phương pháp cấu hình SMTP WordPress

Dưới đây là bảng so sánh ngắn gọn giữa hai cách cấu hình để bạn chọn phương án phù hợp:

Tiêu chíDùng plugin WP Mail SMTPDùng code (functions.php)
Độ khóDễ, không cần kiến thức kỹ thuậtYêu cầu biết chỉnh sửa PHP
Giao diện quản lýCó giao diện trực quan trong AdminKhông có giao diện, quản lý qua code
Kiểm tra email testCó sẵn trong pluginPhải tự viết thêm code để test
Log emailCó (phiên bản Pro)Không có
Tác động đến hiệu suấtNhẹ, tối ưu tốtKhông thêm tài nguyên
Phù hợp với aiNgười dùng phổ thông, doanh nghiệpDeveloper, lập trình viên WordPress

Một số lỗi thường gặp khi cấu hình SMTP Gmail WordPress

Lỗi “Authentication failed” hoặc “535 Credentials”

Nguyên nhân phổ biến nhất là bạn nhập sai mật khẩu. Hãy đảm bảo bạn đang dùng Mật khẩu ứng dụng (16 ký tự), không phải mật khẩu đăng nhập Gmail thông thường. Ngoài ra, kiểm tra xem xác minh 2 bước đã được bật hay chưa.

Lỗi “Could not connect to SMTP host”

Lỗi này thường do tường lửa của server hosting chặn kết nối ra ngoài qua port 587 hoặc 465. Thử đổi sang port khác hoặc liên hệ nhà cung cấp hosting để mở port SMTP. Nếu bạn đang dùng hosting của ThemeWP.vn, đội ngũ hỗ trợ kỹ thuật có thể kiểm tra và xử lý ngay.

Email gửi được nhưng vào thư mục spam

Vấn đề này thường xảy ra khi địa chỉ From Email khác với SMTP Username. Đảm bảo rằng địa chỉ email người gửi trùng khớp hoàn toàn với tài khoản Gmail đang dùng để xác thực SMTP. Việc thiết lập SPF, DKIM và DMARC cho tên miền cũng giúp cải thiện tỉ lệ vào hộp thư đến.

Plugin WP Mail SMTP báo lỗi SSL/TLS

Nếu gặp lỗi liên quan đến chứng chỉ SSL, hãy thử chuyển đổi giữa TLS (port 587) và SSL (port 465). Một số cấu hình server không hỗ trợ TLS 1.0/1.1, trong trường hợp đó hãy đảm bảo server của bạn hỗ trợ TLS 1.2 hoặc 1.3.

Câu hỏi thường gặp về cấu hình SMTP WordPress

SMTP là gì và tại sao WordPress cần SMTP?

SMTP (Simple Mail Transfer Protocol) là giao thức tiêu chuẩn dùng để gửi email qua internet. WordPress mặc định dùng PHP mail() để gửi email, nhưng phương thức này thường bị đánh dấu spam và không đáng tin cậy. Cấu hình SMTP giúp email được gửi qua máy chủ có xác thực, tăng tỉ lệ vào hộp thư đến và đảm bảo thông báo quan trọng đến tay người dùng.

Có cần tạo mật khẩu ứng dụng Gmail riêng không?

Có. Kể từ tháng 5/2022, Google đã tắt tính năng cho phép ứng dụng kém bảo mật truy cập tài khoản. Bạn bắt buộc phải tạo Mật khẩu ứng dụng (App Password) riêng. Mật khẩu này có 16 ký tự, chỉ dùng cho một ứng dụng cụ thể và không ảnh hưởng đến mật khẩu đăng nhập Gmail thông thường của bạn.

Nên dùng port 465 (SSL) hay port 587 (TLS) cho Gmail SMTP?

Google khuyến nghị sử dụng port 587 với TLS vì đây là tiêu chuẩn hiện đại hơn và được hỗ trợ rộng rãi. Port 465 với SSL vẫn hoạt động nhưng được coi là phương thức cũ hơn. Nếu port 587 bị chặn bởi hosting, hãy thử port 465.

Plugin WP Mail SMTP miễn phí có đủ dùng không?

Phiên bản miễn phí của WP Mail SMTP đã đáp ứng đầy đủ nhu cầu cấu hình SMTP cơ bản cho hầu hết website WordPress, bao gồm hỗ trợ Gmail, Outlook, Mailgun, SendGrid và các SMTP tùy chỉnh. Phiên bản Pro bổ sung thêm tính năng log email, thông báo khi email thất bại và các nhà cung cấp email cao cấp hơn.

Cấu hình SMTP bằng code có an toàn không?

Cấu hình bằng code trực tiếp trong functions.php tiềm ẩn rủi ro bảo mật nếu thông tin mật khẩu bị lộ qua code. Để an toàn hơn, bạn nên lưu thông tin đăng nhập vào file wp-config.php hoặc biến môi trường (.env) thay vì hardcode trực tiếp trong functions.php. Sử dụng plugin như WP Mail SMTP sẽ an toàn hơn vì mật khẩu được mã hóa trong database.

Cấu hình SMTP có ảnh hưởng đến tốc độ website không?

Cấu hình SMTP gần như không ảnh hưởng đến tốc độ tải trang. Quá trình gửi email diễn ra ở phía server, không liên quan đến quá trình render trang. Nếu bạn đang tìm kiếm giải pháp tổng thể để tối ưu hiệu suất website WordPress, hãy tham khảo các gói hosting WordPress tốc độ cao tại ThemeWP.vn.

Gửi bao nhiêu email mỗi ngày qua Gmail SMTP là giới hạn?

Tài khoản Gmail cá nhân miễn phí cho phép gửi tối đa khoảng 500 email mỗi ngày qua SMTP. Tài khoản Google Workspace (trả phí) có giới hạn cao hơn, lên đến 2.000 email mỗi ngày. Nếu website của bạn cần gửi số lượng email lớn (newsletter, thông báo hàng loạt), nên cân nhắc các dịch vụ chuyên biệt như SendGrid, Mailgun hoặc Amazon SES.

Hỗ trợ trả phíGửi yêu cầu hỗ trợTài liệu hỗ trợ