CAKEPHP: блок Catch не выполняется, даже если электронная почта получателя не существует
Я использую CakePHP 2.0
Есть ли способ в cakePHP проверить, доставлено письмо или нет. Я пытался поймать ошибку, когда $Email->send();
выполняет. Но это всегда возвращает некоторую строку, содержащую тело отправленного сообщения и т. Д.
Например, у меня есть это:
try {
$to = $message_data['email'];
if (isset($message_data['name'])) {
$to = array($message_data['email'] => $message_data['name']);
}
$Email->template($template, 'default')
->from($sender)
->to("c.chardkhkhjfsd@gmail.com")
->subject($message_data['subject'])
->emailFormat('html');
if ($replyTo) {
$Email->replyTo($replyTo);
}
if (isset($message_data['attachment'])) {
$Email->attachments(array(
$message_data['filename'] => array(
'data' => $message_data['attachment'],
'mimetype' => $message_data['attachment_mimetype']
)
));
}
$Email->send();
} catch (SocketException $e) {
Debugger::log("no way");
}
Но это никогда не попадает в блок catch, даже если получатель электронной почты (c.chardkhkhjfsd@gmail.com
) не существует.
Моя настройка SMTP выглядит так:
public $test = array(
'transport' => 'Smtp',
'tls' => true,
'from' => array('*************' => '****'),
'host' => 'smtp.gmail.com',
'port' => 587,
'timeout' => 30,
'client' => null,
'log' => false,
'username' => '***************',
'password' => ''
);