Hướng dẫn phpmailer download

Gửi mail với phpmailer là bài hướng dẫn gửi mail với thư viện phpmailer. Bài này thực hiện trong ngữ cảnh website phát triển với mô hình mvc. Do đó bạn cần thực hiện bài Lập trình MVC trong PHP và bài Thực hiện phần public với MVCtrước khi làm theo hướng dẫn bên dưới nhé.

Trong php có hàm mail giúp bạn gửi mail,nhưng hàm này có nhiều hạn chế trong sử dụng, cụ thể là các hosting ít khi nào cho phép bạn gửi mail với hàm này. Cho nên các web dev thường cần tới sự hỗ trợ của các thư viện gửi mail bên ngoài, như PHPMailer, Swiftmailer… PHPMailer là thư viện gửi mail rất phổ biển, nhiều người dùng, bài này sẽ hướng dẫn bạn cách thức gửi mail với phpmailer.

1. Download thư viện phpmailer

Vào https://github.com/PHPMailer/PHPMailer và download thư viện

Hướng dẫn phpmailer download

2. Chép thư viện vào site

– Giải nén file vừa down, sẽ được folder PHPMailer-master

– Di chuyển folder PHPMailer-master vào folder website của bạn (vd: banhang/site)

Hướng dẫn phpmailer download

3. Tạo action goimail

Hướng dẫn phpmailer download

4. Code trong hàm goimail()

function goimail(){ 
          require "PHPMailer-master/src/PHPMailer.php";  //nhúng thư viện vào để dùng, sửa lại đường dẫn cho đúng nếu bạn lưu vào chỗ khác
          require "PHPMailer-master/src/SMTP.php"; //nhúng thư viện vào để dùng
          require 'PHPMailer-master/src/Exception.php'; //nhúng thư viện vào để dùng
          $mail = new PHPMailer\PHPMailer\PHPMailer(true);  //true: enables exceptions
            try {
                $mail->SMTPDebug = 2;  // 0,1,2: chế độ debug. khi mọi cấu hình đều tớt thì chỉnh lại 0 nhé
                $mail->isSMTP();  
                $mail->CharSet  = "utf-8";
                $mail->Host = 'smtp.gmail.com';  //SMTP servers
                $mail->SMTPAuth = true; // Enable authentication
		    $nguoigui = 'emailCủaBạ';
		    $matkhau = 'mật khẩu';
		    $tennguoigui = 'Nhập tên người gửi';
                $mail->Username = $nguoigui; // SMTP username
                $mail->Password = $matkhau;   // SMTP password
                $mail->SMTPSecure = 'ssl';  // encryption TLS/SSL 
                $mail->Port = 465;  // port to connect to                
                $mail->setFrom($nguoigui, $tennguoigui ); 
                $to = "nhập email của người nhận";
                $to_name = "Tên người nhận";
                
                $mail->addAddress($to, $to_name); //mail và tên người nhận  
                $mail->isHTML(true);  // Set email format to HTML
                $mail->Subject = 'Gửi thư từ php';      
                $noidungthu = "Chào bạn!
Chúc an lành!"
; $mail->Body = $noidungthu; $mail->smtpConnect( array( "ssl" => array( "verify_peer" => false, "verify_peer_name" => false, "allow_self_signed" => true ) )); $mail->send(); echo 'Đã gửi mail xong'; } catch (Exception $e) { echo 'Mail không gửi được. Lỗi: ', $mail->ErrorInfo; } }

Chú ý: Hãy sửa emailCủaBạ thành email của bạn để test nhé, nếu chưa có email gmail thì đăng ký mới 1 cái để dùng (không sử dụng email chính thức). Mật khẩu cũng nhập vào cho đúng, nhập tên người nhận và nội dung thư nhập vào tùy nhu cầu

5. Test gửi mail

Vào http://localhost/banhang/site/?act=goimail sẽ gửi mail được. Nếu chưa thì bạn cần phải bật tính năng truy cập kém an toàn cho ứng dụng như sau:

Vào hộp thư  emailCủaBạ rồi bật tính năng Less secure app access theo hình dưới:

Hướng dẫn phpmailer download

Ứng dụng của gửi mail trong php

Trong website, việc gửi mail đến người dùng là rất cần thiết, mục đích để giao tiếp với user, như gửi mail kích hoạt tài khoản khi đăng ký thành viên, hay gửi mail để cung cấp mật khẩu mới, hay gửi mail trong form liên hệ, hay gửi mail để thông báo đổi pass thành công …