我正在尝试使用Gmail的SMTP服务器在localhost上使用Fat Free Framework发送电子邮件,但它不会发送邮件。我也尝试使用F3 SMTP日志工具,但它什么都不返回。
echo的输出是:“email result:not sent,mylog :, header:不存在”。
我正在使用最新版本的F3,在本地主机上使用Apache 2.2和PHP 5.4。
$smtp = new SMTP ( 'smtp.gmail.com', 465, 'SSL', 'joebloggs@gmail.com', 'mypass' );
$smtp->set('From', '"Joe Bloggs" <joebloggs@gmail.com>');
$smtp->set('To', '<recipientname@gmail.com>');
$smtp->set('Subject', 'Sent with the F3 SMTP plug-in');
$smtp->set('Errors-to', '<joebloggs@gmail.com>');
$message = 'it works';
$sent = $smtp->send($message, TRUE);
$mylog = $smtp->log();
$sentText = 'not sent';
$headerText = 'does not exist';
if ($sent)
{
$sentText = 'was sent';
}
if ($smtp->exists('Date'))
{
$headerText = 'exists';
}
echo "email result: " . $sentText . ",mylog: " . $mylog . ", header: " . $headerText;
答案 0 :(得分:0)
我认为您可能需要PHPMailer进行更多测试...... 在FLAT FREE的smtp.php代码中,gmail似乎有效:(但是使用PHPMail它是官方的(在示例代码中他们这样做,我使用它和它的工作)。
答案 1 :(得分:0)
感谢所有有用的评论。
我按照Jacky的建议尝试了PHPMailer(令人惊讶的是)然后我收到了PHP的错误消息,告诉我究竟是什么问题。
错误消息是&#34; SMTP ERROR:无法连接到服务器:无法找到套接字传输&#34; ssl&#34; - 你在配置PHP时忘了启用它吗? &#34;
所以我去了我的&#34; php.ini&#34;并搜索了SSL并找到了行&#34; extension = php_openssl.dll&#34;被评论出来了。我取消注释,重新启动Apache和PHPMailer然后工作 - 电子邮件已发送。
我回到Fat Free,现在也工作了! (没有更改问题中发布的代码)。遗憾的是,Fat Free登录没有给我任何提示。
我在PHPMailer中使用了这段代码:Example code for using PHPMailer on localhost (Windows)