WordPress là một CMS rất tốt, NHƯNG! Tôi ghét sự phình to của plugin. Tôi đã thấy rất nhiều trang web sử dụng một số lượng lớn các plugin để bao quát mọi tính năng nhỏ, điều này góp phần gây ra các vấn đề về tốc độ và có thể gây ra sự cố.
Có rất nhiều Plugins SMTP cho WordPress để bạn có thể sử dụng SendGrid, MailGun, v.v …
Cách dễ nhất để thiết lập SMTP là thêm đoạn mã này vào file functions.php của bạn, điều này sẽ đảm bảo rằng WordPress sử dụng SMTP thay thế của phpmailer tiêu chuẩn.
Đoạn code như sau:
/* Code SMTP */ function myphpmailer($phpmailer){ $phpmailer->IsSMTP(); $phpmailer->Host = 'smtp.office365.com'; // smtp host $phpmailer->Port = '587'; // smtp port $phpmailer->Username = 'minh@minhduy.vn'; // smtp user $phpmailer->Password = '********'; // SMTP pass $phpmailer->SMTPAuth = true; // if required $phpmailer->SMTPSecure = 'tls'; // mã hóa smtp, giá trị này tùy vào smpt port $phpmailer->CharSet ='utf-8'; $phpmailer->From = 'legiang@minhduy.vn'; //Email gui di $phpmailer->FromName = get_option('blogname'); //Ten nguoi gui } add_action('phpmailer_init', 'myphpmailer');
Các bạn thay thông số phù hợp vào nhé. Tuy nhiên có vài lưu ý nhỏ sau:
- SMTP Secure: Nếu điền tls thì Port phải là 587, ssl thì port là 465
- Username và From: có thể giống nhau hoặc khác nhau. Ví dụ xài smtp gmail/office thì 2 cái này giống nhau. Nhưng nếu xài dịch vụ SMTP thì 2 cái này khác nhau.
- Password: Nếu dùng gmail thì phải lấy pass ứng dụng nhé.
- FromeName: Mặc định sẽ lấy tên website, nếu bạn muốn tên khác, hãy thay get_option(‘blogname’) bằng ‘Tên bạn muốn’
Chúc các bạn cài đặt thành công!
SMTP là gì?
SMTP là 3 chữ cái đầu viết tắt của Simple Mail Transfer Protocol dịch ra có nghĩa là một giao thức truyền tải thư tín đơn giản hóa, là một tiêu chuẩn để truyền tải dữ liệu trên môi trường internet.
Và giao thức này thực hiện nhiệm vụ chính là gửi mail còn việc nhận mail hay truy xuất dữ liệu mail server sẽ có giao thức IMAP hay POP3 đảm nhiệm.
Tại sao phải cấu hình SMTP?
Mặc định, một số hosting sẽ đóng hàm mail() mặc định, nên website không thể gửi email đi được. Do vậy, chúng ta phải cấu SMTP bên thứ 3 vào để gửi email.