1

我刚从一个测试环境转移到一个新的 Webhost,现在我的应用程序在我尝试发送邮件时抛出错误。我正在使用 CakePHP 和 CakeMail 函数来发送这封电子邮件。

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

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('info@eevent.ch' => 'info'));
$Email->to(array( username => usermail));
$Email->subject(__('Registrierung auf Eevent.ch'));
$Email->send($emailstring);

我假设我的代码是正确的,因为它在测试服务器上运行良好。

通过在 StackOverflow 上搜索此错误,我检查了一些事情。我用一个数组设置了 $email->from。我检查了我的 phpinfo,它确实包括 sendmail_from me@localhost.com me@localhost.com sendmail_path /usr/sbin/sendmail -t -i /usr/sbin/sendmail -t -i

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

提前致谢。

4

1 回答 1

0

在这一行

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

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

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

您是否在 /app/config/mail.php 中配置了 email.php ?

于 2013-04-10T12:32:57.983 回答