我的网站上有一个联系表单,我需要能够将数据发送到我的 Gmail。
<?php
use PHPMailer\PHPMailer\PHPMailer;
if (isset($_POST['name']) && isset($_POST['email'])) {
$name = $_POST['name'];
$email = $_POST['email'];
$subject = $_POST['subject'];
$msg = $_POST['message'];
require_once "PHPMailer/PHPMailer.php";
require_once "PHPMailer/SMTP.php";
require_once "PHPMailer/Exception.php";
$mail = new PHPMailer();
//smtp settings
$mail->IsSMTP();
$mail->SMTPDebug = 2;
$mail->Host = "smtp.gmail.com";
$mail->SMTPAuth = true;
$mail->Username = "@gmail.com";
$mail->Password = "";
$mail->Port = 465;
$mail->SMTPSecure = "ssl";
//email settings
$mail->IsHTML(true);
$mail->setFrom($email, $name);
$mail->addAddress("@gmail.com");
$mail->Subject = ("$subject");
$mail->Body = $msg;
if($mail->send()) {
header('location: index.php');
}
}
?>
当我在本地主机 (xampp) 上使用这段代码时,它运行得非常好。但是当我尝试在我的实时服务器上使用它时,由于某种原因它不起作用。
我的 Gmail 已关闭两步验证并允许不太安全的访问。
我需要在此代码中更改哪些内容才能在实时服务器上运行?