Please enable JavaScript.
Coggle requires JavaScript to display documents.
Bài 12: Gửi mail trong PHP (3.Gửi mail sử dụng SMTP (Cài đặt PHPMailer:…
Bài 12: Gửi mail
trong PHP
1.Cơ chế gửi mail
2.Sử dụng hàm mail() trong php
Cú pháp:
mail(to, subject, message, headers, parameters)
TO: địa chỉ mail người nhận
SUBJECT: tiêu đề email (không được chứa ký tự xuống dòng)
MESSAGE: nội dung mail
HEADER: thông tin thêm (vd: from, bcc, cc,..) các thông tin này nên phân cách nhau bằng ký tự xuống dòng (\r\n)
PARAMETERS: tham số cấu hình cho ứng dụng gửi mail
Cấu hình: được định nghĩa trong file php.ini
VD:
3.Gửi mail sử dụng SMTP
Đầu tiên bạn vào host của bạn và tạo một email.
Ví dụ
-Email:
demo@key.com.vn
-Password: 123456.
-SMTP: mail.key.com.vn
Download PHPMailer tại
http://www.mediafire.com/download/b3g7esro7l338a9/PHPMailer.zip
Cài đặt PHPMailer:
Giải nén tập tin PHPMailer.zip
Copy các file class.phpmailer.php, class.pop3.php, class.smtp.php vào thư mục phpmailer.
Nhúng thư viện phpmailer vào ứng dụng
<?php
//Nhúng thư viện phpmailer require_once('phpmailer/class.phpmailer.php');
//Khởi tạo đối tượng
$mail = new PHPMailer();
?>
Ví dụ:
<?php
//Nhúng thư viện phpmailer
require_once('phpmailer/class.phpmailer.php');
//Khởi tạo đối tượng
$mail = new PHPMailer();
$mail->IsSMTP(); // Gọi đến class xử lý SMTP
$mail->Host = "mail.key.com.vn"; // tên SMTP server
$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.key.com.vn"; // Thiết lập thông tin của SMPT
$mail->Port = 25; // Thiết lập cổng gửi email của máy
$mail->Username =
"demo@key.com.vn.vn
"; // SMTP account username
$mail->Password = "123456"; // SMTP account password
//Thiet lap thong tin nguoi gui va email nguoi gui
$mail->SetFrom('demo@key.com.vn
',‟Tin hoc KEY');
//Thiết lập thông tin người nhận
$mail->AddAddress(“key@gmail.com
", “KEY Group");
$mail->AddAddress(“key@yahoo.com
", “KEY Group");
//Thiết lập email nhận email hồi đáp
//nếu người nhận nhấn nút Reply
$mail->AddReplyTo("demo@key.com.vn
",“Tin hoc KEY");
//Thiết lập tiêu đề
$mail->Subject = "PHPMailer training by KEY Group";
//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 = "Khóa học Lập Trình PHP được thực hiện bởi key.com.vn";
$mail->Body = $body;
if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!";
}
4.Gửi mail bằng SMTP của Gmail
Có tài khoản Gmail
Nếu dùng localhost
Mở tập tin php.ini tìm dòng “extension=php_openssl.dll” bỏ dấu chấm phẩy và restart lại webserver
Gmail sử dụng SMTPSecure (ssl) để gửi email
Khi sử dụng ssl của gmail chúng ta phải sử dụng port 465
Ví dụ:
<?php
//Nhúng thư viện phpmailer
require_once('phpmailer/class.phpmailer.php');
//Khởi tạo đối tượng
$mail = new PHPMailer();
$mail->IsSMTP(); // Gọi đến class xử lý SMTP
$mail->Host = "mail.key.com.vn"; // tên SMTP server
$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->SMTPSecure = "ssl";
$mail->Host = "smtp.gmail.com"; // Thiết lập thông tin của SMPT
$mail->Port = 465; // Thiết lập cổng gửi email của máy
$mail->Username =
“demo@gmail.com
"; // SMTP account username
$mail->Password = "123456"; // SMTP account password
//Thiet lap thong tin nguoi gui va email nguoi gui
$mail->SetFrom(„demo@gmail.com
',„Gmail Demo email');
//Thiết lập thông tin người nhận
$mail->AddAddress(“key@gmail.com
", "ZendVN Group");
$mail->AddAddress(“key@yahoo.com
", "ZendVN Group");
//Thiết lập email nhận email hồi đáp
//nếu người nhận nhấn nút Reply
$mail->AddReplyTo(“key@key.com.vn
",“Tin hoc KEY");
//Thiết lập tiêu đề
$mail->Subject = "PHPMailer training by KEY Group";
//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 = "Khóa học Lập Trình PHP được thực hiện bởi KEY Group";
$mail->Body = $body;
if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!";
}