在服务器中通过gmail smtp发送邮件的问题,但在localhost中工作正常

时间:2011-04-15 07:58:18

标签: php smtp gmail pear

我在一家免费的网络托管公司开设了一个网站,该公司没有提供mail()工具,所以我决定实施这种使用G-mail的SMTP服务器发送电子邮件的工具。

我使用PEAR'Mail包发送邮件。它在本地运行良好,但不幸的是它并非都在我的网站服务器上工作。

当页面打开时,即使没有提到错误,也会产生空白屏幕。您可以查看here以查看脚本运行情况。

这是我的代码:

<?php

   require_once "Mail.php";

    $from = "username@gmail.com";
    $to = "username@yahoo.com";
    $subject = "Hi!";
    $body = "Hi,\n\nHow are you?";

    $host = "ssl://smtp.gmail.com";
    $port = "465";
    $username = "username@gmail.com";
    $password = "*****";

    $headers = array ('From' => $from,
      'To' => $to,
      'Subject' => $subject);
    $smtp = Mail::factory('smtp',
      array ('host' => $host,
        'port' => $port,
        'auth' => true,
        'username' => $username,
        'password' => $password));


    $mail= $smtp->send($to, $headers, $body);
    if (PEAR::isError($mail)) {
      echo("<p>" . $mail->getMessage() . "</p>");
     } else {
      echo("<p>Message successfully sent!</p>");
     }

?>

任何人都可以帮我理解出了什么问题吗?

2 个答案:

答案 0 :(得分:0)

您可能忘记上传Mail.php文件或其中一个依赖项。白页通常表示致命错误。

答案 1 :(得分:0)

Gmail阻止了一些网络托管服务提供商。联系您的网络托管服务提供商。