我正在开发一个“旧的”php / zend项目。我在本地安装了它,一切都很好,除了用户完成表单后应用程序发送确认邮件的部分。
我所犯的错误基本上是“连接无法建立”
这是代码:
public function sendMail($ user,$ gain = null) { global $ config;
$this->_view->url = $config->app->url;
$tr = new Zend_Mail_Transport_Smtp($config->app->mail->server);
Zend_Mail::setDefaultTransport($tr);
$mail = new MGMail($config->app->mail->key, true);
$mail->setFrom($config->app->mail->from, $config->app->mail->fromName);
if ($gain == null)
{
$object = $config->app->mail->object->inscription;
$render = $this->_view->render('inscription.phtml');
}
else
{
switch ($gain)
{
case 'peignoir':
$gain_name = 'un '.$gain;
case 'casquette':
$gain_name = 'une '.$gain;
}
$object = sprintf($config->app->mail->object->gain, $gain_name);
$render = $this->_view->render($gain.'.phtml');
}
$mail->setSubject($object);
$mail->addTo($user->email, $user->first_name.' '.$user->last_name);
$mail->setBodyText($render);
$mail->send();
$this->saveSendEmail($object, $render, $user);
}
$config->app->mail->server
在我的application.ini中只包含“localhost”
我需要做些什么来解决这个问题? 有没有激活的php模块? 对不起,如果这对你来说很明显,我很长时间没有这方面的工作......
答案 0 :(得分:0)
确保您在正在使用的计算机上本地运行SMTP服务。您可以通过在端口25上使用telnet到localhost来检查这一点:
telnet localhost 25
如果超时,则可能是您没有安装或运行SMTP服务器:
C:\ Users \ username> telnet localhost 25 连接到localhost ...无法打开与主机的连接,在端口25上:连接失败
这是你的问题。
要解决此问题,您需要安装和配置邮件服务器。我过去使用过hmailserver(www.hmailserver.com)并且运行正常。