Мне просто интересно, как вы можете проверить, было ли отправлено электронное письмо или оно не удалось при использовании EmailComponent в CakePHP?
Например, сейчас я использую это так:
$this->Email->from='<xyz@yahoo.com>';
$this->Email->to='<abc@gmail.com>';
$this->Email->sendAs='both';
$this->Email->delivery = 'debug';
$this->Email->send();
1 ответ
$this->Email->send()
должен вернуть истину, если оно было отправлено успешно. Вы можете попробовать что-то вроде:
if ( $this->Email->send() ) {
// Success
} else {
// Failure
}
Справка:
http://api.cakephp.org/2.3/class-EmailComponent.html
Примечание. Если вы используете CakePHP 2.x, вы можете попробовать вместо этого использовать класс CakeEmail; EmailComponent устарел ( Справочник). Если вы используете 1.x, продолжайте. :п
Изменить:
Как отмечено в комментариях, если вы используете 2.x, вы должны иметь в виду, что CakeEmail (который используется EmailComponent) может вызвать исключение. Вы можете справиться с этим с помощью самого CakePHP или добавив try / catch :
try {
if ( $this->Email->send() ) {
// Success
} else {
// Failure, without any exceptions
}
} catch ( Exception $e ) {
// Failure, with exception
}
Похожие вопросы
Новые вопросы
Используйте этот тег для вопросов, касающихся кода, для отправки или получения сообщений электронной почты. Публикация вопроса о том, почему отправляемые вами письма помечаются как спам, не относится к теме переполнения стека. Вопросы по настройке почтовых серверов относятся к Server Fault.