Trong bài này chúng ta sẽ đi thiết lập để có thể gửi mail từ localhost/WAMP server để có thể gửi mail ra ngoài internet sử dụng PHPMailer và SMTP của google nhé.
Khái niệm SMTP
SMTP là chữ viết tắt của Simple Mail Transfer Protocol. SMTP được sử dụng khi gửi email từ ứng dụng đến máy chủ điện tử hoặc khi email được gửi từ máy chủ thư điện tử khác.
Để duy trì blog nên mình có làm aff cho 1 số bên hosting. Nhưng dù aff mình cũng chọn 1 số nhà cung cấp uy tín về chất lượng và support nên các bạn cứ yên tâm nhé.
Nếu có mua hosting mà có trong list dưới đây các bạn click vào link trước khi mua để ủng hộ mình nhé. Mình cảm ơn nhiều
- Azdigi: Giá rẻ thì dùng gói Pro Gold Hosting còn chất lượng hơn thì em khuyên dùng Business Hosting. Có điều kiện thì lên VPS nhé
- Tino hosting
- iNet
- Nước ngoài thì Vultr
SMTP sử dụng cổng 25.
Ứng dụng
Việc cài đặt gửi mail cho WAMP sẽ rất tốt cho những ai thiết kế web, muốn test mail gửi đi hoặc ứng dụng nào đó phải gửi mail ….
Cách cài đặt gửi mail từ localhost/wamp
Trước tiên chúng ta cần có php_smtp trong localhost. php_smtp có sẵn trong phiên bản php 5.3 trở lên. Còn nếu bạn dùng bản thấp hơn thì phải làm các bước sau đây:
- Bạn vào theo đường dẫn sau để down load file php_smtp.dll : Link 1 hoặc Link Dự phòng
- Sau đó giải nén và copy file php_smtp.dll vào folder C:\wamp\bin\php\php5.4.16\ext (php5.4.16: tùy thuộc vào phiên bản của bạn)
- Sau đó mở file php.ini (C:\wamp\bin\apache\Apache2.4.4\bin /* Apache2.4.4: tùy vào phiên bản của bạn*/)
Tiếp theo bạn copy extension=php_smtp.dll vào file php.ini. - Restart Wamp. Hãy khởi động lại wamp của bạn.
Bắt đầu thiết lập:
Bước 1:
Enable ssl_module in httpd.conf. Bỏ dấu # tại dòng LoadModule ssl_module modules/mod_ssl.so
Bước 2:
Enable php_openssl,php_smtp and php_sockets extensions for php.ini
Tìm đến các extensions đó và bỏ ; trước các dòng đó là được.
Bước 3:
Download PHPMailer tại đường dẫn sau https://github.com/Synchro/PHPMailer
Sau đó giải nén và copy folder (PHPMailer-master) vào thư mục www của bạn.
Bước 4:
Tạo file send_mail.php tại thư mục www với nội dung sau
<?php require 'PHPMailer-master/class.phpmailer.php';// Đường dẫn tới file class.phpmailer.php $mail = new PHPMailer(); $mail->IsSMTP(); $mail->Mailer = 'smtp'; $mail->SMTPAuth = true; $mail->Host = 'smtp.gmail.com'; // "ssl://smtp.gmail.com" didn't worked $mail->Port = 465; $mail->SMTPSecure = 'ssl'; // or try these settings (worked on XAMPP and WAMP): // $mail->Port = 587; // $mail->SMTPSecure = 'tls'; $mail->Username = "your_gmail_user_name@gmail.com"; $mail->Password = "your_gmail_password"; $mail->IsHTML(true); // if you are going to send HTML formatted emails $mail->SingleTo = true; // if you want to send a same email to multiple users. multiple emails will be sent one-by-one. $mail->From = "your_gmail_user_name@gmail.com"; $mail->FromName = "Your Name"; $mail->addAddress("user.1@yahoo.com","User 1"); $mail->addAddress("user.2@gmail.com","User 2"); $mail->addCC("user.3@ymail.com","User 3"); $mail->addBCC("user.4@in.com","User 4"); $mail->Subject = "Testing PHPMailer with localhost"; $mail->Body = "Hi,<br /><br />This system is working perfectly."; if(!$mail->Send()) echo "Message was not sent <br />PHPMailer Error: " . $mail->ErrorInfo; else echo "Message has been sent"; ?>
Sau khi thiết lập xong bạn chạy http://localhost/send_mail.php để kiểm tra.
Chú ý cài đặt SMTP tại gmail
Để có thể chạy được SMTP cho mail của bạn thì bạn phải cài đặt tại gmail của mình. Làm như sau
Đã xong chúc các bạn thành công^^
Xem thêm tại http://blog.techwheels.net/send-email-using-wamp-server/
- Bình luận