首页 > 解决方案 > PHPMailer 在本地主机上运行良好,但在实时服务器上运行良好

问题描述

我的网站上有一个联系表,我需要能够将数据发送到我的 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 关闭了两步验证,并允许不太安全的访问。

我需要在此代码中进行哪些更改才能使其在实时服务器上运行?

标签: phpphpmailer

解决方案


推荐阅读