Hướng dẫn tự động gửi mail với PHPmailer thông qua SMTP mail của host cPanel

Tự động gửi mail là kỹ thuật cần thiết cho gần như tất cả các website từ blog đến diễn đàn hay các trang web mua sắm. Thường thì sẽ sử dụng cho các chức năng đăng ký thành viên, lấy lại mật khẩu,  thông báo hoạt động website, …. Các ngôn ngữ lập trình web cơ bản đều cung cấp cho ta các hàm gửi mail nhưng bạn cứ coi như không có đi vì chúng cực kỳ cùi dừa. 100% khi bạn sử dụng hàm mail() đó sẽ không thể đến được inbox của người nhận , may mắn lắm thì chúng sẽ được vào hòm Spam. Hơn nữa 90% các nhà cung cấp Hosting & Domain đều Disable hàm mail này vì lý do bảo mật. Có một cách để gửi những Email chất lượng hơn và “Fresh” hơn đó là gửi mail thông qua SMTP. Đa số các nhà cung cấp dịch vụ email đều mở SMTP cho chúng ta sử dụng như Gmail , Hotmail,… nhưng trong  bài này tôi sẽ hướng dẫn các bạn gửi e-mail thông qua SMTP được tạo bởi chính hosting cPanel của bạn.

 Bước 1: Tại một tài khoản Mail Account trên host cPanel

Tạo tài khoản mail trên host cPnanel theo hướng dẫn ở đây

Cấu hình SMTP mail Client trên host cPanel

Cấu hình SMTP mail Client trên host cPanel

Các bạn cần chú ý thông tin trong mục Manual Settings  vì đây là thông tin dùng để điền vào mã nguồn php chạy php Mailer.

Bước 2: Tải về thư viên PHPMailer

Tải về thư viện PHP mailer từ GitHub

Giao diện tải về PHP mailer

Giao diện tải về PHP mailer

Bước 3: Cấu hình cho file PHP:

Thư viện tải về có rât nhiều file nhưng bạn chỉ cần include file class.phpmailer.php

require_once('phpmailer/class.phpmailer.php');

Sau đó tại đối tượng mail và sử dụng như mẫu dưới đây:

$mail->SMTPDebug = 2; // enables SMTP debug information (for testing)
// 1 = errors and messages
// 2 = messages only
$mail->SMTPAuth = true; // Sử dụng đăng nhập vào account
$mail->Host = “mail.cheapvps.info”; // Thiết lập thông tin của SMPT theo dòng Outgoing của bước 1
$mail->Port = 25; // Thiết lập cổng gửi email của máyv theo dòng Sever của bước 1
$mail->Username = “admin@cheapvps.info”; // SMTP account username mà bạn đã tạo trên host cPanel
$mail->Password = “123456”; // SMTP account password mà bạn đã tạo trên host cPanel

//Thiet lap thong tin nguoi gui va email nguoi gui
$mail->SetFrom(‘admin@cheapvps.info’,’Pham Vu Khanh’);

//Thiết lập thông tin người nhận
$mail->AddAddress(“emailnguoinhan@gmail.com”, “Admin VPS”);
$mail->AddAddress(“emailnguoinhan@gmail.com”, “Admin VPS”);

//Thiết lập email nhận email hồi đáp
//nếu người nhận nhấn nút Reply
$mail->AddReplyTo(“emailnguoinhan@gmail.com”,”Nguyen Van A”);

/*=====================================
* THIET LAP NOI DUNG EMAIL
*=====================================*/

//Thiết lập tiêu đề
$mail->Subject = “Tiêu đề của Email”;

//Thiết lập định dạng font chữ
$mail->CharSet = “utf-8”;

//Thiết lập nội dung chính của email
$body = “Noi dung cua Email”;
$mail->Body = $body;

if(!$mail->Send()) {
echo “Mailer Error: ” . $mail->ErrorInfo;
} else {
echo “Message sent!”;
}

Vậy là bạn đã có một chương trình gửi mail thông qua SMTP của chính host cPanel của bạn. Bạn hoàn toàn có thể kết hợp với mã nguồn php của bạn để trở thành hệ thống gửi mail tự động và hàng loạt .

Chúc các bạn thành công!

Leave a Reply