我查看了几乎所有现有的帖子,但我仍然无法找到问题,所以我决定发布一个新帖子。
我的代码在我的实时服务器上运行,电子邮件功能正常运行。它是由承包商设置的,他没有留下关于如何设置CakePHP的文档。
我需要将我的登台服务器设置为与实时服务器完全相同。我认为除了电子邮件功能外,我还能正常工作。由于我在两台服务器上运行完全相同的代码,我很肯定我错过了在我的登台服务器上安装或设置配置。
那么,CakeEmail需要什么框架/模块/库?它需要什么配置?
我在CakePHP 2.3.4上运行
这是我的代码段:
App::uses('CakeEmail', 'Network/Email');
$emailTest = new CakeEmail('default');
$emailTest->to('MyEmail@gmail.com');
$emailTest->from(array('me@example.com' => 'My Site'));
$emailTest->subject('About');
try {
$emailTest->send('Hey');
}
catch (SocketException $e) {
echo("Exception: " . $e->getMessage() . "\r\n");
echo("File: " . $e->getFile() . "\r\n");
echo("Line: " . $e->getLine() . "\r\n");
echo("Trace: " . $e->getTraceAsString() . "\r\n");
}
在email.php中:
public $default = array(
'transport' => 'Mail',
'from' => 'notification@MySite.com',
// 'charset' => 'utf-8',
// 'headerCharset' => 'utf-8',
);
我得到了这个堆栈跟踪:
例外:无法发送电子邮件。 文件:/var/www/MySite/lib/Cake/Network/Email/MailTransport.php 行:70 跟踪:0 /var/www/MySite/lib/Cake/Network/Email/MailTransport.php(47):MailTransport-> _mail(' staging@gmail.c ...',&# 39; hsbsv vdbeh lik ...',' hsbsv vdbeh lik ...',' From:MySite ...',NULL)
1 /var/www/MySite/lib/Cake/Network/Email/CakeEmail.php(1071):MailTransport-> send(Object(CakeEmail))
2 /var/www/MySite/app/Model/Notification.php(238):CakeEmail->发送(' hsbsv vdbeh lik ...')
3 [内部功能]:通知 - > afterSave(true,Array)
4 /var/www/MySite/lib/Cake/Event/CakeEventManager.php(246):call_user_func_array(Array,Array)
5 /var/www/MySite/lib/Cake/Model/Model.php(1772):CakeEventManager-> dispatch(Object(CakeEvent))
6 /var/www/MySite/app/Controller/CommentsController.php(160):Model-> save(Array)
7 [内部功能]:CommentsController-> add()
8 /var/www/MySite/lib/Cake/Controller/Controller.php(486):ReflectionMethod-> invokeArgs(Object(CommentsController),Array)
9 /var/www/MySite/lib/Cake/Routing/Dispatcher.php(187):Controller-> invokeAction(Object(CakeRequest))
10 /var/www/MySite/lib/Cake/Routing/Dispatcher.php(162):Dispatcher-> _invoke(Object(CommentsController),Object(CakeRequest),Object(CakeResponse))
11 /var/www/MySite/app/webroot/index.php(109):Dispatcher-> dispatch(Object(CakeRequest),Object(CakeResponse))12 {main}