【发布时间】:2011-08-11 04:37:25
【问题描述】:
我有一个问题已经解决了大约一周,但找不到答案。作为这一切的序言,我在互联网上搜索了各种各样的东西。这个问题有很多答案,但似乎没有一个能帮助我。
我对 PHP 和我要求的很多东西有点陌生(过去几个月一直在使用它)。让我进入问题的根源:
我在一个学校网络上,我自己的服务器安装在我的宿舍里。我正在创建一个需要验证用户电子邮件的网站,但基本的 PHP mail() 函数不起作用。有人告诉我,我需要使用 SMTP。所以我决定最简单和最便宜的方法是使用 Gmail SMTP。为此,我在 Gmail 上创建了一个名为 verify.impressions@gmail.com 的帐户。这是代码。
echo "starting mail sending";
require_once("pear/share/pear/Mail.php");
echo "1";
$from = "PersonA `<someone@gmail.com`>"; $to = "`<someoneElse@email.com`>"; $subject = "Activate your account"; $body = "Hey";
$host = "ssl://smtp.gmail.com"; $port = "465"; //also tried 587 $username = "someone@gmail.com"; $password = "password";
echo "2";
$headers = array ('From' => $from, 'To' => $to, 'Subject' => $subject);
echo "3";
$mailer_params['host'] = $host; $mailer_params['port'] = $port; $mailer_params['auth'] = true; $mailer_params['username'] = $username; $mailer_params['password'] = $password;
$smtp = Mail::factory('smtp', $mailer_params);
echo "4";
error_reporting(E_ALL);
echo "5";
if (PEAR::isError($smtp)) { die("Error : " . $smtp->getMessage()); }
echo "6";
$mail = $smtp->send($to, $headers, $body) or die("Something bad happened");
echo "7";
if (PEAR::isError($mail)) {echo($mail->getMessage();} else {echo(Message successfully sent!);}
echo "mail sent hopefully.";
所以基本上代码就停在这一行:
$mail = $smtp->send($to, %headers, $);
我尝试过打印错误,但我现在不知道该怎么办。任何提示和帮助表示赞赏。谢谢!!
【问题讨论】: