2013-04-09 79 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