【问题标题】:phpMailer only works on localhostphpMailer 仅适用于本地主机
【发布时间】:2023-03-31 11:45:01
【问题描述】:

我是这个论坛的新手,也是编码 php 的小新手。

所以这里是主题,我正在使用 phpMailer 发送电子邮件。但它只适用于本地主机。我使用它工作正常,当我将项目上传到网络主机时,它立即停止正确发送。而且我连一行都没改。

原来如此。

<?php
if(empty($_POST['name'])      ||
   empty($_POST['email'])     ||
   empty($_POST['phone'])     ||
   empty($_POST['message']) ||
   !filter_var($_POST['email'],FILTER_VALIDATE_EMAIL))
   {
  echo "Nenhum argumento fornecido.";
  return false;
   }

require 'class.phpmailer.php';
require 'PHPMailerAutoload.php';

$mail = new PHPmailer();
$mail->setLanguage('pt');

$host       = 'smtp.live.com';
$username   = 'myemail@hotmail.com';
$password   = 'mypassword';
$port       = 587;
$secure     = 'tls';

$from = $username;
$fromName = 'Pedido-'.$_POST['name'];

$mail->isSMTP();
$mail->Host         = $host;
$mail->SMTPAuth     = true;
$mail->Username     = $username;
$mail->Password     = $password;
$mail->Port         = $port;
$mail->SMTPSecure   = $secure;

$mail->From     = $from;
$mail->FromName = $fromName;
$mail->addReplyTo($from, $fromName);

$mail->addAddress('toemail@gmail.com', $_POST['name']);

$mail->isHTML(true);
$mail->Charset  = 'utf-8';
$mail->WordWrap = 70;

$mail->Subject  = 'Envios do formulario';
$mail->Body     = '<b>Nome:</b> '.$_POST['name'];
$mail->Body    .= '<br><b>Responder para:</b> '.$_POST['email'];
$mail->Body    .= '<br><b>Telefone:</b> '.$_POST['phone'];
$mail->Body    .= '<br><b>Mensagem:</b> <br>'.$_POST['message'];
$mail->AltBody  = '';

$send = $mail->Send();

  return 0;

?>

在本地主机上运行完美。

【问题讨论】:

  • 您的服务器有邮件服务器吗?你可以使用吗?
  • 输出错误是什么?

标签: php email localhost phpmailer


【解决方案1】:

你没有提到你是否检查过这个,但你的主机可能有防火墙阻止了该端口上的连接。如果它在本地工作并且在将其上传到您的主机时停止工作,那肯定是有可能的。如果他们允许您进行配置,请确保启用到该端口的出站连接。您可能还想检查 SMTP 服务器是否返回了响应。这通常可以告诉你很多关于发生的事情。

【讨论】:

    【解决方案2】:

    可能你的本地服务器和远程服务器有不同的PHP版本,所以先检查一下

    FILTER_VALIDATE_EMAIL

    根据文档,过滤器验证仅适用于 PHP 版本 (PHP 5 >= 5.2.0)。所以请确保您的版本是正确的。

    也可以试试这个

    在文件中注释此行并重试.. 我认为您没有使用它

    //需要'PHPMailerAutoload.php';

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-16
      • 2017-02-25
      • 2023-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-26
      相关资源
      最近更新 更多