Chào các bạn,
Trong bài viết này Kỹ thuật sẽ hướng dẫn các bạn kiểm tra xem hosting của các bạn đã mở tính năng gửi mail mặc định và mở giao thức SMTP để gửi mail ra ngoài chưa.
Để kiểm tra, chúng ta sẽ tạo một file email.php trên hosting và thêm vào các nội dung sau:
- Tạo form gửi mail:
<form method=”post” action=”email.php”>
Email: <input name=”email” type=”text”><br>
Message:<br>
<textarea name=”message” rows=”15″ cols=”40″></textarea><br>
<input type=’submit’ name=’ok’>
</form>
- Gọi hàm gửi mail:
<?php
if (isset($_POST[‘ok’]))
{
$to = “quanglan@123host.vn”;
$subject = “Test mail() function default”;
$email = $_REQUEST[’email’] ;
$message = $_REQUEST[‘message’] ;
$headers = “From: $email”; $sent = mail($to, $subject, $message, $headers) ;
if($sent) {
print “Gui mail thanh cong!”;
} else {
print “Co loi khi gui mail”;
}
}
?>
Lưu ý vào các ô tô đỏ ở hình trên.
Đầu tiên nếu bạn tạo file email.php theo Kỹ thuật thì trong ô đỏ đầu tiên mình cũng để là “email.php“.
Ở ô đỏ thứ 2: $to = “quanglan@123host.vn”; Bạn sẽ nhập địa chỉ email mà bạn muốn gửi mail test này đến.
Nhấn Save Changes để hoàn tất.
Truy cập đường dẫn đến file email.php
Ở ô Email, bạn nhập vào tên Email mà bạn muốn hiển thị cho người nhận biết.
Nhấn vào “Gửi truy vấn” để gửi mail đi.
Nếu thành công sẽ báo “Gui mail thanh cong!”
Bạn đợi một lát và kiểm tra hộp thư.
Như vậy tức là hàm mail() mặc định trên hosting đang mở.
Nếu khi bạn nhấn vào “Gửi Truy Vấn” ở bước trên mà gặp thông báo “Co loi khi gui mail!” thì có nghĩa là hàm mail() đang bị khóa, bạn có thể liên hệ nhà cung cấp hosting mở cho bạn nếu muốn.
Ở đây Kỹ thuật sẽ dùng thư viện PHPMailer và tài khoản Gmail để gửi mail thông qua SMTP.
Các bạn có thể download thư viện PHPMailer về tại link: https://github.com/PHPMailer/PHPMailer
Nhấn vào Clone or Download, nhấn tiếp Download ZIP.
Upload file này lên Hosting và giải nén ra.
Truy cập vào thư mục PHPMailer-master/examples, bạn sẽ thấy file gmail.phps. Ta sẽ đổi tên file này thành gmail.php. Sau đó mở file này lên.
Bạn sẽ lưu ý các thông tin sau:
- $mail->Username = “<Your Gmail>”; Bạn lưu ý tài khoản Gmail này phải tắt chức năng xác thực 2 bước và bật tính năng Less Secure. Truy cập link này để Bật tính năng Less Secure: https://www.google.com/settings/security/lesssecureapps
- $mail->Password = “<Your Gmail>”; Nhập vào mật khẩu của tài khoản Gmail mà bạn đã nhập ở trên.
- $mail->addAddress(‘<Receiver>’, ‘Name Of Whom’); Nhập vào địa chỉ email mà bạn muốn gửi mail này tới để kiểm tra.
Nhấn Save Changes để lưu lại.
Truy cập đường dẫn đến file gmail.php
Bạn sẽ thấy các dòng Client <-> Server, đó chỉ là những thông tin trao đổi giữa client và mail server, bạn không cần phải bận tâm. Chúng ta sẽ cuộn về cuối trang để xem kết quả.
Bạn sẽ thấy thông báo “Message sent!” nếu gửi mail thành công.
Truy cập hộp thư để kiểm tra.
Vậy là đã gửi mail thành công rồi.
Nếu bạn gặp thông báo “Mailer Error: ” và các thông điệp theo kèm. Hãy chắc chắn rằng bạn đã tắt xác thực 2 bước cho tài khoản Gmail và bật tính năng Less Secure.
Nếu bạn đã làm đúng hết các bước mà vẫn lỗi thì hãy liên hệ ngay với nhà cung cấp dịch vụ để yêu cầu mở chức năng gửi mail qua SMTP.
Chúc các bạn thành công!