此代码似乎在我的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 protected]';
    $m->Password = 'password';
    $m->SMTPSecure = 'ssl';
    $m->Port = 465;

    $m->From = '[email protected]';
    $m->FromName = 'William Green';
    $m->addReplyTo('[email protected]', 'William Green');

    //$m->addCC('[email protected]', '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>';
    }


    ?>

最佳答案



答:他们这样做而不是提供SMTP免费托管。改用PHP的 mail() 函数。

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

为了使用SMTP,请使用 mail() 为此支付

您可以在其网站上进行操作,也可以从控制面板中进行升级。

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

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

这个答案是根据我今天看到的一个与我的编辑相关的问题进行编辑的。

  • https://stackoverflow.com/q/39541929/1415724
  • 10-08 02:40