Tư vấn thiết kế website
0962 936 318 - Mr. Đảm
Tư vấn nhận diện thương hiệu
0962 936 318 gặp Mr. Đảm
Website Công Ty Cổ Phần VN PHARMA TRUNG TÂM HỘI NGHỊ & TIỆC CƯỚI GRAND PALACE Hệ thống trường Mầm Non Việt Nhà hàng Sen Đông Dương Công Ty TNHH TM & DVXD Hoàng Nguyên

Website Công Ty Cổ Phần VN PHARMA

VN PHARMA luôn hướng về cộng đồng, luôn khát khao đóng góp và phụng sự xã hội, tập hợp nhiều thành viên ưu tú làm nên sức mạnh toàn diện, tạo ra nhiều giá trị hơn cho xã hội....

Đọc thêm

TRUNG TÂM HỘI NGHỊ & TIỆC CƯỚI GRAND PALACE

Là một trong những trung tâm hội nghị & tiệc cưới hàng đầu tại thành phố Hồ Chí Minh, Grand Palace sẽ mang lại nhiều điều tốt đẹp và hài lòng nhất đối với sự kiện của bạn...

Đọc thêm

Hệ thống trường Mầm Non Việt

Không gì vui hơn đối với những bậc làm cha mẹ là được thấy con mình mỗi ngày một lớn khôn, khỏe mạnh, thông minh, tự tin, ngoan ngoãn...

Đọc thêm

Nhà hàng Sen Đông Dương

Nói đến ẩm thực không chỉ là nói đến sự pha trộn để tạo ra các món ăn, mà nói đến ẩm thực còn là nói đến tinh hoa nữa. Tinh hoa ẩm thực đã vượt qua hạn mốc của một quốc gia....

Đọc thêm

Công Ty TNHH TM & DVXD Hoàng Nguyên

Công Ty TNHH TM & DVXD Hoàng Nguyên xin gửi đến Quý Công Ty lời chào trân trọng, lời chúc sức khỏe và thành công trong kinh doanh....

Đọc thêm

You are here: Home Tài Liệu Web Lập trình PHP Gửi e-mail thông qua SMTP với PHPMailer sử dụng tài khoản Gmail

Gửi e-mail thông qua SMTP với PHPMailer sử dụng tài khoản Gmail

Ngày trước mình hay gặp vấn đề về việc gởi mail vào các tài khoản mail free. đa phần các server gởi đi đều dính dô spam. rồi test tại máy local thi ko gởi được mail ra ngoài để test cho nó tiện. với việc tạo server home chạy code nhiều bạn cũng gặp vấn nạn ở chổ cái mail là gởi dô yahoo hay gmail nó ko chạy luôn. dân web mà học cấu hình lại server giả này cũng cực. Mới ngâm được cái PHPMailer thấy rất hay dù biết lâu rồi nhưng chưa có thời gian viết 1 cái hàm cụ thể. Hi tại sao mình lại hướng dẫn gmail mà ko phải là yahoo hay cái khác : Trước hết it's FREE! Mà các SMPT hay host của việt nam IP lõm quá chạy thua xa Gmail. mà google lại hỗ trợ quá tuyệt hình như là 500 mail cho 1 ngày thì phải gởi đã đời. đối với web nhỏ như chúng ta thôi nha. chứ vài nghìn mình ko nghĩ tới.

Bắt đầu.

1. Bạn phải sử dụng PHP5 nha và port 465 chắc chắn được phép chạy vì nó sẽ kết nối với Gmail

2. Download PHPMailer

3. Vào : http://gmail.com đăng ký cái tài khoản (chắc ai cũng có 1 cái rồi nhỉ )

Include file phpmailer chứa class làm việc này vào file mà bạn cần sử lý gởi mail :

PHP Code:

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

Đinh nghĩa biến cho tài khoản Gmail của bạn

PHP Code:

define ( 'GUSER', 'you@gmail.com' ); // tài khoản đăng nhập Gmail

define ( 'GPWD', 'password' ); // mật khẩu cho cái mail này

Rồi hàm nãy đã viết sẳn bạn chỉ việc dùng hay viết lại thêm cái gì đó theo ý bạn thôi. nhúng nó vào file gởi mail của bạn rồi chạy

PHP Code:

function smtpmailer($to, $from, $from_name, $subject, $body) {

global $error;

$mail = new PHPMailer(); // tạo một đối tượng mới từ class PHPMailer

$mail -> IsSMTP(); // bật chức năng SMTP

$mail -> SMTPDebug = 0; // kiểm tra lỗi : 1 là hiển thị lỗi và thông báo cho ta biết, 2 = chỉ thông báo lỗi

$mail -> SMTPAuth = true; // bật chức năng đăng nhập vào SMTP này

$mail -> SMTPSecure = ' ssl '; // sử dụng giao thức SSL vì gmail bắt buộc dùng cái này

$mail -> Host = ' smtp.gmail.com ';

$mail -> Port = 465;

$mail -> Username = GUSER;

$mail -> Password = GPWD;

$mail -> SetFrom($from, $from_name);

$mail -> Subject = $subject;

$mail -> Body = $body;

$mail -> AddAddress( $to );

if( ! $mail -> Send() )  {

$error = ' Gởi mail bị lỗi: '.$mail -> ErrorInfo;

return false;

} else {

$error = ' thư của bạn đã được gởi đi  ';

return true;

}

}

Cách sử dụng hàm đã viết bên trên như thế nào

PHP Code:

smtpmailer('goiden@gmail.com', '' , 'goitu@mail.com', 'yourName', 'Tiêu đề Thư', 'Nội dung thư');

bạn có thể thay thế các giá trị bên trên thành 1 biến lấy từ Form của bạn nhé

PHP Code:

$_POST hay $_GET gì gì đó

Và hơn 1 chút thay vì chỉ gởi mà lặng lẽ rôi im ru

PHP Code:

if (smtpmailer( 'to@mail.com', 'from@mail.com', 'yourName', 'test mail message', 'Hello World!' )) {
// gởi xong rồi thông báo gì đó cho ngươi dùng :D viết ở đây
}
if (!empty( $error )) echo $error;