【问题标题】:PHPMailer not working on 000webhostPHPMailer 无法在 000webhost 上运行
【发布时间】:2014-10-10 01:08:54
【问题描述】:

此代码似乎可以在我的 mac localhost 上的 Xampp 中运行,但它似乎不适用于我的免费 000webhost 帐户。我已经尝试摆脱 SSL,但它没有帮助。请记住,此程序从外部表单获取变量。

 <?php
    $subject = htmlentities($_POST['subject']);
    $email = $_POST['email'];
    $message = htmlentities($_POST['message']);




    require_once 'PHPMailer/PHPMailerAutoload.php';

    $m = new PHPMailer;

    $m->isSMTP();
    $m->SMTPAuth = true;
    //$m->SMTPDebug = 1;
    $m->Host = 'smtp.gmail.com';
    $m->Username = 'email-adress@gmail.com';
    $m->Password = 'password';
    $m->SMTPSecure = 'ssl';
    $m->Port = 465;

    $m->From = 'email-adress@gmail.com';
    $m->FromName = 'William Green';
    $m->addReplyTo('email-adress@gmail.com', 'William Green');

    //$m->addCC('email2-address@gmail.com', 'Willliam green');


    ########################################
    //email code
    //$recipient = strip_tags($_POST['mailRecipient']);
    //$name = strip_tags($_POST['recipientsName']);


    $m->addAddress($email, $email);



    //$m->Subject = strip_tags($_POST['mailSubject']);
    //$m->Body = strip_tags($_POST['mailBody']);
    $m->Subject = $subject;
    $m->Body = $message;


   //$m->AltBody = 'plain text version!';


    ###########################################





    //var_dump($m->send());
    if ($m->send())
    {
    echo '<h1 class="good">Email Sent!</h1>';
    }
    else
    {
    echo '<h1 class="bad">Email Not Sent!</h1>';
    }


    ?>

【问题讨论】:

  • 000webhost 在处理网站时并不是那么好;他们的服务器可能在黑名单中,或者他们可能会阻止传出的 SMTP 端口以防止垃圾邮件。也许是时候换一个更好的虚拟主机了,或者您可以节省时间并让自己拥有一个虚拟专用服务器来不受限制地托管您的需求。
  • 你可以在端口 587 上尝试 TLS。

标签: php email xampp phpmailer


【解决方案1】:

“但它似乎不适用于我的免费 000webhost 帐户”

答:他们确实提供免费托管的 SMTP。请改用 PHP 的 mail() 函数。

注意他们站点上 SMTP 服务器旁边的红色 x => http://www.000webhost.com/ ?

使用mail()付费 以使用 SMTP。

您可以在他们的网站上执行此操作,或从控制面板中进行升级。

编辑(2016 年 9 月 16 日):这个答案是在他们改造网站之前发布的。您可以在其中查看免费/付费服务的可用选项的 URL,可以在此处查看 https://www.000webhost.com/premium-web-hosting

这也适用于与数据库的远程连接。

这个答案是针对我今天看到的一个与我的编辑相关的问题而编辑的。

【讨论】:

  • 我注意到他们支持 imap。我可以以某种方式使用 imap 而不是 smtp。我不熟悉整个电子邮件。
  • 你能发布一些使用 imap 连接的代码吗?非常感谢! :D :-)
  • 这个页面docs.ongetc.com/?q=content/… 是我在这个主题上找到的,并且会更好地解释它。 @www139 也在他们的论坛中000webhost.com/forum/announcements/…
  • 很抱歉,当我发布这个问题时,我不知道 phpmailer 使用了 smtp,我什至不知道 smtp 是什么。谢谢你说清楚。
  • 嘿弗雷德。它看起来像 recently SMTP is being offered by this host,使用 Sendmail。我正在研究如何连接它...
【解决方案2】:

检查 465 端口是否打开。如果没有,主机提供商需要更改设置。

【讨论】:

  • 或者你能试试其他端口吗?
猜你喜欢
  • 1970-01-01
  • 2015-03-31
  • 1970-01-01
  • 2023-04-10
  • 1970-01-01
  • 1970-01-01
  • 2017-12-05
  • 1970-01-01
相关资源
最近更新 更多