我将cakeEmail用于简单的表单,并且在本地主机上工作得很好,但在服务器(主机)上,它显示了以下错误:
CONNECTION REFUSED
Error: An Internal Error Has Occurred.
Stack Trace
CORE/Cake/Network/Email/SmtpTransport.php line 101 → CakeSocket->connect()
CORE/Cake/Network/Email/SmtpTransport.php line 61 → SmtpTransport->_connect()
CORE/Cake/Network/Email/CakeEmail.php line 1124 → SmtpTransport->send(CakeEmail)
APP/Controller/ProductsController.php line 26 → CakeEmail->send(string)
[internal function] → ProductsController->email()
CORE/Cake/Controller/Controller.php line 490 → ReflectionMethod->invokeArgs(ProductsController, array)
CORE/Cake/Routing/Dispatcher.php line 187 → Controller->invokeAction(CakeRequest)
CORE/Cake/Routing/Dispatcher.php line 162 → Dispatcher->_invoke(ProductsController, CakeRequest, CakeResponse)
APP/webroot/index.php line 111 → Dispatcher->dispatch(CakeRequest, CakeResponse)我不知道问题在哪里。
我的Config/email.php:
public $default = array(
'transport' => 'Smtp',
'from' => array('info@olvi.cz' => 'My Site'),
'host' => 'smtp.savana.cz',
'port' => 25,
'timeout' => 30,
'username' => 'info@olvi.cz',
'password' => '****',
'client' => null,
'log' => false,
);我的ProductsController.php:
public function email(){
App::uses('CakeEmail', 'Network/Email');
if ($this->request->is('post')) {
$email = new CakeEmail('default');
$email->from(array('info@olvi.cz' => $this->request->data['Email']['name']));
$email->to($this->request->data['Email']['sender']);
$email->subject($this->request->data['Email']['name']);
$email->send($this->request->data['Email']['message']);
$this->Session->setFlash(__('Zpráva byla odeslána.'));
}
}并查看email.ctp:
echo $this->Form->create('Email');
echo $this->Form->input('name',array('label' => 'Jméno', 'required' => 'required'));
echo $this->Form->input('sender',array('type' => 'email','label' => 'Váš e-mail', 'required' => 'required'));
echo $this->Form->input('message', array('type' => 'textarea', 'label' => 'Zpráva', 'required' => 'required'));
echo $this->Form->submit('Odeslat', array('id' => 'button', 'div' => false));
echo $this->Form->end();我试图调用我的主机帮助链接,他们不知道,但说PHPMailer工作。我是cakePHP的新手,所以在服务器上移动它有问题。谁能帮个忙吗?我真的深陷于这个问题中。
谢谢
发布于 2013-12-18 06:21:36
可能的原因:
CONNECTION REFUSED。这不是运行代码的服务器上的东西,而是要登录到的服务器。可能的解决方案
如果所有可能的原因都不是罪魁祸首,那么配置可能会出现问题。你有这个:
public $default = array(
'transport' => 'Smtp',
'from' => array('info@olvi.cz' => 'My Site'),
'host' => 'smtp.savana.cz',
'port' => 25,
'timeout' => 30,
'username' => 'info@olvi.cz',
'password' => '****',
'client' => null,
'log' => false,
);试着简化它并将其更改为最基本的最小值:
public $default = array(
'transport' => 'Smtp',
'host' => 'smtp.savana.cz',
'port' => 25,
'username' => 'info@olvi.cz',
'password' => '****',
);https://stackoverflow.com/questions/20595043
复制相似问题