Gửi mail trong php qua gmail và mailtrap hướng dẫn bạn cách gửi mail từ php đến người dùng thông qua gmail và mailtrap. Mời bạn xem sơ qua nội dung, cụ thể thực hiện xem video bên dưới nhé.
Gửi mail trong php qua gmail
Yêu cầu:
- Bạn phải có 1 tài khoản gmail để nhờ gmail gửi mail
- Tài khoản dùng để gửi mail phải bật tính năng truy cập kém an toàn
- Bạn cần dùng thư viện PHPMailer để gửi mail
Thực hiện:
- Đăng ký tài khoản gmail + Cấu hình truy cập kém an toàn
- Vào https://github.com/PHPMailer/PHPMailer và download thư viện PHPMailer
- Giải nén file vừa down, di chuyển folder PHPMailer-master vào folder website
- Tạo/Mở trang web để gửi mail
- Viết hàm gửi mail
function GuiMail(){
require "PHPMailer-master/src/PHPMailer.php";
require "PHPMailer-master/src/SMTP.php";
require 'PHPMailer-master/src/Exception.php';
$mail = new PHPMailer\PHPMailer\PHPMailer(true);//true:enables exceptions
try {
$mail->SMTPDebug = 0; //0,1,2: chế độ debug. khi chạy ngon 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
$mail->Username = 'emailCủaBạnỞGmail'; // SMTP username
$mail->Password = 'MậtKhẩuEmailCuaBan'; // SMTP password
$mail->SMTPSecure = 'ssl'; // encryption TLS/SSL
$mail->Port = 465; // port to connect to
$mail->setFrom('emailCủaBạnỞGmail', 'Tên người gửi' );
$mail->addAddress('emailNguoiNhan', 'TênNgườiNhận'); //mail và tên người nhận
$mail->isHTML(true); // Set email format to HTML
$mail->Subject = 'Tiêu đề thư';
$noidungthu = 'Nội dung thư';
$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;
}
}//function GuiMail
- Tạo trang lienhe.php + nhúng bootstrap + code tạo form:
<form method="post">
<div class="mb-3">
<label class="form-label">Email</label>
<input type="email" class="form-control bg-light" name="email" placeholder="Nhập email của bạn">
</div>
<div class="mb-3">
<label class="form-label">Nội dung liên hệ</label>
<textarea class="form-control bg-light" name="noidunglienhe" rows="5"></textarea>
</div>
<div class="mb-3">
<button name="btn" type="submit" class="btn btn-primary">GỬI LIÊN HỆ</button>
</div>
</form>
- Đón sự kiện submit lên và gọi hàm gửi mail
if (isset($_POST['btn'])){
GuiMail();
header("location:lienhe_guimailxong.php");
}//if
- Soạn nội dung thư liên hệ
$noidungthu = "
<h3>Thư liên hệ từ khách hàng</h3>
<p> Email khách hàng: <br>{$_POST['email']} </p>
<p> Nội dung liên hệ: <br>{$_POST['noidunglienhe']} </p>
";
– Đọc nội dung từ file: noidungthulienhe.txt
<h3>Thư liên hệ từ khách hàng</h3>
<hr>
<p> Email khách hàng: <br>{email} </p>
<p> Nội dung liên hệ: <br>{noidung} </p>
- Đọc file nội dung thư
$noidungthu = file_get_contents("noidungthulienhe.txt");
$noidungthu = str_replace(
[ '{email}' , '{noidung}'],
[$_POST['email'], $_POST['noidunglienhe']]
, $noidungthu);
Gửi mail trong php với mailtrap
Đăng ký tài khoản ở mailtrap: Vào https://mailtrap.io/ và đăng ký, có thể dùng tài khoản google có sẵn cũng được.
Trong màn hình quản trị , bạn sẽ thấy có My inbox.
Cấu hình các thông số gửi mail: Nhắp My inbox rồi nhắp SMTP Settings => Show Credentials
Sử dụng giá trị các thông số Host, Port, username, password trong các hàm gửi mail