2013-04-25 87 views
1

我正在开发一个“旧”php/zend项目。我在本地安装它,除了应用程序在用户完成表单之后发送确认邮件的部分之外,一切都很好。用Zend Framework发送邮件:“无法建立连接”

错误我已经基本上是 “连接不能建立”

这是代码:

公共职能的sendmail($用户,$增益= NULL){ 全球 $配置;

$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 

包含只需在 “localhost” 的我的application.ini

什么我需要做什么来解决这个问题? 有没有任何PHP模块来激活? 对不起,如果它很明显,我很长一段时间没有这个工作...

+1

是运行SMTP服务器并且服务正在运行的本地计算机?你能telnet到SMTP端口上的localhost吗? – psynnott 2013-04-25 15:11:40

+0

我刚刚做到了:“不可能建立连接” 我该如何激活它? – Slrg 2013-04-25 15:15:13

回答

1

确保您正在您的机器上本地运行SMTP服务。您可以通过使用远程登录到本地主机上的25端口检查:

远程登录本地主机25

如果超时,那么很可能你没有安装SMTP服务器做或正在运行:

C:\ Users \用户名>远程登录本地主机25 连接到本地主机...无法打开连接到主机,端口25上连接:连接失败

这是你的问题。

要解决它,您需要安装和配置一个邮件服务器。我过去使用过hmailserver(www.hmailserver.com),它运行良好。

+0

我刚刚做到了:“不可能建立连接” 我该如何激活它? – Slrg 2013-04-25 15:14:53

+1

安装和配置邮件服务器,如hmailserver(http://www.hmailserver.com/) – psynnott 2013-04-25 15:18:19

+0

现在,我有错误:SMTP验证是必需的。 – Slrg 2013-04-25 15:23:07

相关问题