2013-04-09 132 views
1

我刚刚从测试环境移动到新的Webhost,现在当我尝试发送邮件时,我的应用程序会抛出错误。 我正在使用CakePHP和CakeMail函数发送此电子邮件。CakePHP电子邮件无法发送

这是错误信息的最后一部分:

Could not send email. 
Error: An Internal Error Has Occurred. 

Stack Trace 
CORE/Cake/Network/Email/MailTransport.php line 46 → MailTransport->_mail(string, string, string, string, null) 
CORE/Cake/Network/Email/CakeEmail.php line 1065 → MailTransport->send(CakeEmail) 
APP/Controller/UsersController.php line 204 → CakeEmail->send(string) 
[internal function] → UsersController->add() 

暂时,您可以通过此网页注册(只放任何东西,我不介意)重现错误:http://eevent.ch/index.php/users/add

我的代码看起来是这样的:

$emailstring = 'emailstring'; 
$Email = new CakeEmail(); 
$Email->emailFormat('both'); 
$Email->from(array('[email protected]' => 'info')); 
$Email->to(array(username => usermail)); 
$Email->subject(__('Registrierung auf Eevent.ch')); 
$Email->send($emailstring); 

我假设我的代码是正确的,因为它的工作原理在测试服务器上就好了。

从StackOverflow上搜索此错误我已经检查了一些东西。 我用数组设置$ email-> from。 我检查了我的phpinfo,它包括 sendmail_from [email protected] [email protected] sendmail_path/usr/sbin目录/ sendmail的-t -i/usr/sbin目录/ sendmail的-t -i

是否有可能我没有设置标题产生错误?

在此先感谢。

+0

'$ Email-> to'是在真实应用程序中使用的代码 – 2013-04-09 20:01:58

+0

我不确定我是否理解您的意思,但我在此示例中使用了假数据。 – dos 2013-04-09 20:33:49

回答

0

在这一行

$Email->to(array(username => usermail)); 

应该有字符串或传递给一个数组变量。像这里:

$Email->to(array('username' => $usermail)); 

你在/app/config/mail.php中配置了email.php吗?

+0

尽管从我的例子中可能不清楚,但我确实正确地设置了所有变量。与主持人交谈后,事实证明这是一个托管问题。感谢您的努力! – dos 2013-04-11 06:51:33