Я просмотрел почти все существующие темы, но все еще не могу найти проблему, поэтому решил опубликовать новую.
У меня есть код, который работает на моем живом сервере, и функция электронной почты работает отлично. Это было установлено подрядчиком, и он не оставил документации о том, как настроить CakePHP.
Мне нужно настроить мой промежуточный сервер так, чтобы он работал точно так же, как живой сервер. Я думаю, что у меня все работает, кроме функций электронной почты. Поскольку на обоих серверах выполняется один и тот же код, я уверен, что пропустил установку чего-либо или настройку своего промежуточного сервера.
Итак, какой фреймворк / модуль / библиотека нужен для CakeEmail? Какая конфигурация нужна для этого?
Я бегу на CakePHP 2.3.4
Вот мой фрагмент кода:
App::uses('CakeEmail', 'Network/Email');
$emailTest = new CakeEmail('default');
$emailTest->to('[email protected]');
$emailTest->from(array('[email protected]' => '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' => '[email protected]',
// '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 (‘[email protected] … ‘,’ 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-> send (‘hsbsv vdbeh lik …’)
3 [внутренняя функция]: Notification-> 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): Модель-> Сохранить (Массив)
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): Диспетчер -> _ invoke (Object (CommentsController), Object (CakeRequest), Object (CakeResponse))
11 /var/www/MySite/app/webroot/index.php(109): Dispatcher-> dispatch (Object (CakeRequest), Object (CakeResponse))
12 {главная}
Задача ещё не решена.
Других решений пока нет …