Sau bài viết Sử dụng Google Server để làm email theo domain của bạn tôi nhận được một số phản hồi của anh em về vấn đề code gửi email trên website (gửi dưới dạng SMTP và sử dụng tài khoản login theo domain) không chạy được nữa. Hôm nay chúng ta sẽ cùng khắc phục vấn đề này bằng cách cấu hình gửi email bằng SMTP sử dụng PHPMailer và sử dụng domain login là Gmail theo tên miền của bạn.
Chắc hẳn nhiều bạn lập trình viên đã sử dụng class PHPMailer nên tôi sẽ không nói về nó nữa nhé!
Bạn nào đã có class này trong máy rồi thì thôi, bạn nào chưa có thì download PHPMailer từ đây về máy.
Để có thể gửi email từ tài khoản login Gmail bạn cần phải có 1 phần Path của PHPMailer cho phép sử dụng SSL (vì Gmail yêu cầu login bằng SSL mà :) ). Bạn có thể download path này về tài đây: Path PHPMailer using SSL.
Thiết lập gửi email bằng class SMTP
Sau khi download path trên về bạn chép đè (overwrite) lên file class.phpmailer.php của PHPMailer. Giờ chúng ta xem qua code thiết lập để gửi email nhé:
[code]
<?php
require("class.phpmailer.php");
$mailer = new PHPMailer();
$mailer->IsSMTP();
$mailer->Host = ‘ssl://smtp.gmail.com:465’;
$mailer->SMTPAuth = TRUE;
$mailer->Username = ‘noreply[ @ ]nhanweb.com’; // Change this to your gmail adress
$mailer->Password = ‘here_password’; // Change this to your gmail password
$mailer->From = ‘noreply[ @ ]nhanweb.com’; // This HAVE TO be your gmail adress
$mailer->FromName = ‘fake’; // This is the from name in the email, you can put anything you like here
$mailer->Body = ‘This is the main body of the email’;
$mailer->Subject = ‘This is the subject of the email’;
$mailer->AddAddress(‘[email protected]’); // This is where you put the email adress of the person you want to mail
if(!$mailer->Send())
{
echo "Message was not sent<br/ >";
echo "Mailer Error: " . $mailer->ErrorInfo;
}
else
{
echo "Message has been sent";
}
?>
[/code]
Một số thành phần bạn cần thay đổi tương ứng với tài khoản SMTP đã tạo là:
$mailer->Username = ‘noreply[ @ ]nhanweb.com’; // Change this to your gmail adress
$mailer->Password = ‘here_password’; // Change this to your gmail password
$mailer->From = ‘noreply[ @ ]nhanweb.com’; // This HAVE TO be your gmail adress
Bạn có thể tham khảo thêm bài viết Google Server để làm email để biết cách thiết lập hệ thống email cho công ty theo domain nhé.
Gia Hân says
Minh da ap dung cach ban huong dan nhung khong gui duoc. Loi: Language string failed to load: from_failed “dia chi email dung de gui”. Dia chi email dung de gui su dung theo ten mien rieng cua minh va da sung dung mail thong qua Gmail :((
quy says
mình đang làm wordpress. tạo một trang bán hàng đơn giản, mình dùng plugin woocommerce. ý mình là khi khách hàng đặt hàng ta sẻ gủi một email với nội dung là đơn đặt hàng và địa chỉ đến cho khách hàng đó và người quản trị.Bạn có thể hướng dẫn mình code này được không, mình không biết nên thêm code sendmail này vào chổ nào trong plugin woocommerce. Và trong plugin này mình cũng thấy có class senmail. nhưng không biết cách kích hoạt nó. Mong được giúp đỡ.