我已经浏览了几乎所有现有的线程,但我仍然找不到问题,所以我决定发布一个新的。
我有在我的实时服务器上运行的代码,并且电子邮件功能运行良好。它是由一个承包商设置的,他没有留下关于如何设置 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...', 'hsbsv vdbeh 喜欢...', 'hsbsv vdbeh 喜欢...', '来自: MySite...', NULL)
1 /var/www/MySite/lib/Cake/Network/Email/CakeEmail.php(1071): MailTransport->send(对象(CakeEmail))
2 /var/www/MySite/app/Model/Notification.php(238): CakeEmail->send('hsbsv vdbeh 喜欢...')
3【内部函数】:Notification->afterSave(true, Array)
4 /var/www/MySite/lib/Cake/Event/CakeEventManager.php(246): call_user_func_array(数组, 数组)
5 /var/www/MySite/lib/Cake/Model/Model.php(1772): CakeEventManager->dispatch(Object(CakeEvent))
6 /var/www/MySite/app/Controller/CommentsController.php(160): 模型->保存(数组)
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): 控制器->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 {主要}