Zend framework Zend Mail一直给我一个套接字错误

Zend framework Zend Mail一直给我一个套接字错误,zend-framework,zend-mail,Zend Framework,Zend Mail,我在使用zend框架发送电子邮件时遇到问题。我一直收到一个“无法打开套接字”错误 我不知道这里出了什么问题——它曾经在我的另一台主机上工作过。自从我把它转移到另一个主机后,我就不能发送电子邮件了。我已设置配置值以匹配新的电子邮件服务器 这是我的密码: $config = array('auth' => _config('mail', 'auth'), 'username' => _config('mail', 'email'), 'password'

我在使用zend框架发送电子邮件时遇到问题。我一直收到一个“无法打开套接字”错误

我不知道这里出了什么问题——它曾经在我的另一台主机上工作过。自从我把它转移到另一个主机后,我就不能发送电子邮件了。我已设置配置值以匹配新的电子邮件服务器

这是我的密码:

$config = array('auth' => _config('mail', 'auth'),
        'username' => _config('mail', 'email'),
        'password' => _config('mail', 'password'));

$tr = new Zend_Mail_Transport_Smtp(_config('mail', 'smtp'), $config);

$mail = new Zend_Mail();
$mail->setDefaultTransport($tr);

$mail->setFrom(_config('mail','email'), _config('mail','name'));
$mail->addTo($account_email);

$mail->setSubject($mailTitle);
$mail->setBodyText($mailContent);
$mail->send($tr);
编辑===

上面发布的代码是我的实际代码——我不知道它有什么问题,因为它曾经在另一台主机上工作

下面是我得到的确切错误

Could not open socketstring(1237) "#0 /home/india/public_html/demo/library/Zend/Mail/Protocol/Smtp.php(167): Zend_Mail_Protocol_Abstract->_connect('tcp://mail.indi...') 
#1 /home/india/public_html/demo/library/Zend/Mail/Transport/Smtp.php(199): Zend_Mail_Protocol_Smtp->connect() 
#2 /home/india/public_html/demo/library/Zend/Mail/Transport/Abstract.php(348): Zend_Mail_Transport_Smtp->_sendMail() 
#3 /home/india/public_html/demo/library/Zend/Mail.php(1194): Zend_Mail_Transport_Abstract->send(Object(Zend_Mail)) 
#4 /home/india/public_html/demo/application/controllers/AccountController.php(2153): Zend_Mail->send(Object(Zend_Mail_Transport_Smtp)) 
#5 /home/india/public_html/demo/library/Zend/Controller/Action.php(513): AccountController->forgetPasswordAction() 
#6 /home/india/public_html/demo/library/Zend/Controller/Dispatcher/Standard.php(295): Zend_Controller_Action->dispatch('forgetPasswordA...') 
#7 /home/india/public_html/demo/library/Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) 
#8 /home/india/public_html/demo/application/bootstrap.php(26): Zend_Controller_Front->dispatch() #9 /home/india/public_html/demo/html/index.php(4): Bootstrap::run() #10 {main}" 
玛哈巴阿里, 挖掘Zend mail的代码显示

通常错误号为0,因为

  if ($errorNum == 0) {
                    $errorStr = 'Could not open socket';
               }
发件人:

失败时,errno和errstr 参数将填充为 实际系统级错误 在系统级连接()中发生 呼叫如果该值在errno中返回 为0,函数返回FALSE, 这表明错误 在connect()调用之前发生。 这很可能是由于一个问题 初始化套接字。请注意 errno和errstr参数将始终 通过引用传递

我猜是防火墙阻止了要发送的连接, 系统级或网络级错误

如果您更新您的答案与更详细的信息,我将很乐意帮助

  if ($errorNum == 0) {
                    $errorStr = 'Could not open socket';
               }