Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHPMailer无法在Web主机上工作_Php_Phpmailer - Fatal编程技术网

PHPMailer无法在Web主机上工作

PHPMailer无法在Web主机上工作,php,phpmailer,Php,Phpmailer,我已经能够使用xampp发送电子邮件,但当我尝试在我的在线服务器上使用它时,它似乎不起作用。我尝试更改写在我电子邮件帐户信息上的值。这似乎不起作用,我希望任何遇到这个问题的人都能得到指导或帮助 这是电子邮件帐户的详细信息 这是我的mailer.php代码 <?php use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; require 'vendor/autoload.php'; $mail = n

我已经能够使用xampp发送电子邮件,但当我尝试在我的在线服务器上使用它时,它似乎不起作用。我尝试更改写在我电子邮件帐户信息上的值。这似乎不起作用,我希望任何遇到这个问题的人都能得到指导或帮助

这是电子邮件帐户的详细信息

这是我的mailer.php代码

<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require 'vendor/autoload.php';

$mail = new PHPMailer(true);

try {

  $mail->SMTPDebug = 2;

  $mail->isSMTP();
  $mail->Host = 'localhost';
  $mail->Username = 'email';
  $mail->Password = 'password';

  $mail->SMTPSecure = 'ssl';
  $mail->SMTPAuth = true;
  $mail->Port = 465;

  $mail->setFrom('email', 'Test Message');

  $mail->addAddress("email");

  $mail->isHTML(true);
  $mail->Subject = 'This is the Subject';
  $mail->Body    = 'This has been sent';
  $mail->AltBody = 'This has been sent';

  $mail->send();
  echo 'Message has been sent';

 } catch (Exception $e) {
    echo 'Message could not be sent. Mailer Error: <br>', $mail->ErrorInfo;
 }

这太简单了。。。使用此代码:

<?php
    use PHPMailer\PHPMailer\PHPMailer;
    use PHPMailer\PHPMailer\Exception;

    require 'PHPMailer/src/Exception.php';
    require 'PHPMailer/src/PHPMailer.php';
    require 'PHPMailer/src/SMTP.php';
    $mail = new PHPMailer(true);
    $name = 'Name to be displayed!';
    $message = 'Never Give Up!';
    $subject = 'Test mail!';
    $mail->isSMTP();
    $mail->Host = 'smtp.gmail.com';
    $mail->Port = 587;
    $mail->SMTPAuth = true;
    $mail->Username = 'yourmail@gmail.com';
    $mail->Password = 'youpass';
    $mail->SMTPSecure = 'tls';
    $mail->addReplyTo($to, $name);
    $mail->setFrom($to, $name);
    $mail->addAddress($to);
    $mail->Subject = $subject;
    $mail->msgHtml($message);
    $mail->send();
?>


希望您在根目录中添加了PHPMailer库,如果没有,请同时检查路径

$mail->Host='localhost'
应设置为您发布的图像的
服务器
字段中显示的值。@Dave我刚才试过了,先生,很遗憾它似乎不起作用。虽然它在我使用localhost时起作用,然后我删除了这个sir`$mail->isSMTP();。虽然我知道它将使用内置的邮件功能。所以我真的不知道Hahadd当你使用服务器的名称或IP时,错误消息发生了变化?@Dave这仍然是同一个问题,先生,但我尝试将端口号更改为25,并删除
SMTPSecure
它给我一个无法连接到SMTP主机的问题Hahaw调试跟踪显示了什么?将其更改为端口25将不起作用。“无法连接”与“连接被拒绝”是不同的错误,这是您的帖子所说的。