Использование компонента электронной почты CakePHP - PullRequest
1 голос
/ 12 октября 2009

Я пытаюсь отправить простое электронное письмо через компонент электронной почты CakePHP. Я использую следующий код из документации поваренной книги:

$this->Email->from    = 'Irgendjemand <irgendjemand@example.com>';
$this->Email->to      = 'Irgendjemand Anderes <irgendjemand.anderes@example.com>';
$this->Email->subject = 'Test';
$this->Email->send('Dies ist der Nachrichtenrumpf!');

Метод send () - возвращает только логическое значение со значением false - но ошибки или предупреждения не появляются.

У кого-нибудь есть решение для этого?

Ответы [ 3 ]

3 голосов
/ 13 октября 2009

Вы можете отлаживать с помощью EMail. Установите доставку для отладки, и сообщение электронной почты будет установлено в Session.message:

if (Configure::read('debug') > 1) {
    $this->Email->delivery = 'debug';
}
$ret = $this->Email->send();
if (Configure::read('debug') > 1) {
    pr($this->Session->read('Message.email'));
}
3 голосов
/ 12 октября 2009

Вы пытались изменить варианты доставки? Есть три варианта: mail, smtp и debug.

$this->Email->delivery = 'debug';
$this->Email->send('test message');
debug($this->Session->read('Message.email'));
0 голосов
/ 13 октября 2009

На какой ОС вы работаете? Если Windows, эта заметка может представлять интерес:

Примечание. Реализация mail() в Windows во многом отличается от реализации Unix.
...
Таким образом, параметр to не должен быть адресом в виде
"Something <someone@example.com>". Команда mail может не анализировать это правильно во время разговора с MTA.

Во-вторых, может случиться так, что ни один почтовый сервер не примет исходящую почту с вашего локального компьютера из-за защиты от спама. Я часто видел, что та же самая функция mail() не будет работать локально, но прекрасно работает после загрузки на заслуживающий доверия сервер. В этом случае вы можете попробовать использовать аутентифицированную пересылку почты (SMTP).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...