Để cấu hình gửi mail qua SMTP trong WordPress mà không sử dụng plugin, bạn cần chuẩn bị một gmail và đảm bảo rằng tài khoản Gmail của bạn cho phép ứng dụng ít bảo mật truy cập nếu bạn không sử dụng mật khẩu ứng dụng.
Lấy mật khẩu ứng dụng của Gmail
Để tạo một mật khẩu ứng dụng cho tài khoản Gmail của bạn, bạn cần thực hiện các bước sau. Lưu ý rằng bạn cần bật xác thực hai yếu tố cho tài khoản Google của mình để sử dụng tính năng này:
- Bật Xác Thực Hai Yếu Tố:
- Truy cập vào tài khoản Google của bạn.
- Chọn “Bảo mật” trong thanh bên.
- Tìm đến phần “Đăng nhập vào Google” và chọn “Xác thực 2 bước”.
- Theo hướng dẫn để thiết lập xác thực hai yếu tố.
- Tạo Mật Khẩu Ứng Dụng:
- Sau khi bật xác thực hai yếu tố, trở lại màn hình “Bảo mật” trong tài khoản Google của bạn.
- Tìm đến phần “Đăng nhập vào Google” và chọn “Mật khẩu ứng dụng”.
- Bạn có thể cần nhập lại mật khẩu của mình.
- Chọn “Chọn ứng dụng” và chọn ứng dụng mà bạn đang cần mật khẩu (ví dụ: “Mail”).
- Chọn “Chọn thiết bị” và chọn thiết bị bạn đang sử dụng (ví dụ: “Windows Computer”).
- Nhấn “Tạo”.
- Google sẽ tạo một mật khẩu 16 ký tự. Bạn nên sao chép mật khẩu này và lưu trữ nó một cách an toàn.
Chỉnh Sửa File functions.php
- Mở file
functions.php
trong thư mục theme hiện tại của bạn. - Thêm đoạn mã sau vào cuối file:
// Send email via SMTP chèn vào functions.php child theme
add_action( 'phpmailer_init', 'my_phpmailer_example' );
function my_phpmailer_example( $phpmailer ) {
$phpmailer->isSMTP();
$phpmailer->Host = SMTP_HOST;
$phpmailer->SMTPAuth = SMTP_AUTH;
$phpmailer->Port = SMTP_PORT;
$phpmailer->Username = SMTP_USER;
$phpmailer->Password = SMTP_PASS;
$phpmailer->SMTPSecure = SMTP_SECURE;
$phpmailer->From = SMTP_FROM;
$phpmailer->FromName = SMTP_NAME;
}
//Chỉnh Sửa File wp-config.php
function add_smtp_settings_to_wp_config() {
$wp_config_file = ABSPATH . 'wp-config.php';
// Đoạn mã SMTP cần chèn vào
$smtp_settings = "\n// SMTP email settings\n";
$smtp_settings .= "define( 'SMTP_USER', '[email protected]' );\n"; // Địa chỉ Gmail của bạn
$smtp_settings .= "define( 'SMTP_PASS', 'mật khẩu ứng dụng' );\n"; // 16 ký tự mật khẩu ứng dụng Gmail
$smtp_settings .= "define( 'SMTP_HOST', 'smtp.gmail.com' );\n"; // Máy chủ SMTP của Gmail
$smtp_settings .= "define( 'SMTP_FROM', '[email protected]' );\n"; // Địa chỉ email gửi
$smtp_settings .= "define( 'SMTP_NAME', 'Tên của bạn' );\n"; // Tên hiển thị
$smtp_settings .= "define( 'SMTP_PORT', '587' );\n"; // Cổng SMTP của Gmail
$smtp_settings .= "define( 'SMTP_SECURE', 'tls' );\n"; // Sử dụng TLS
$smtp_settings .= "define( 'SMTP_AUTH', true );\n"; // Bật xác thực SMTP
// Kiểm tra và chèn nếu chưa tồn tại
if (strpos(file_get_contents($wp_config_file), "define( 'SMTP_USER'") === false) {
file_put_contents($wp_config_file, $smtp_settings, FILE_APPEND);
}
}
add_action('init', 'add_smtp_settings_to_wp_config');
Chỉnh Sửa File wp-config.php
Trường hợp này chỉ trường hợp bạn không muốn người khác xem mật khẩu ứng dụng qua admin có thể chèn trực tiếp vào wp-fig.php luôn
- Mở file
wp-config.php
trong thư mục gốc của WordPress của bạn. - Thêm đoạn mã sau vào cuối file (trước dòng
/* That's all, stop editing! Happy blogging. */
)
// SMTP email settings chèn vào wp-config.php
define('SMTP_USER', '[email protected]'); // Địa chỉ Gmail của bạn
define('SMTP_PASS', 'mật khẩu ứng dụng'); // 16 ký tự mật khẩu ứng dụng Gmail
define('SMTP_HOST', 'smtp.gmail.com'); // Máy chủ SMTP của Gmail
define('SMTP_FROM', '[email protected]'); // Địa chỉ email gửi
define('SMTP_NAME', 'Tên của bạn'); // Tên hiển thị
define('SMTP_PORT', 587); // Cổng SMTP của Gmail
define('SMTP_SECURE', 'tls'); // Sử dụng TLS
define('SMTP_AUTH', true); // Bật xác thực SMTP
Sau khi cấu hình, bạn nên thử gửi một email kiểm tra từ WordPress để đảm bảo rằng mọi thứ hoạt động đúng đắn. Bạn có thể làm điều này bằng cách sử dụng chức năng “Quên mật khẩu” để gửi email khôi phục mật khẩu, hoặc thông qua bất kỳ chức năng nào khác trong WordPress mà gửi email.