CakeEmail ¿cómo determinar la falla antes del seguimiento de la stack?

Estoy tratando de detectar cuando falla un correo electrónico para poder guardar los datos requeridos en mi base de datos y puedo intentar enviarlos en una fecha posterior.

Pensé que lo siguiente debería funcionar como lo hace cuando se usa save()

  if ( $email->send() ) { //..success - works.. } else { //..fail - never gets here, stack trace } 

http://i.imgur.com/xY8rq.png

obviamente no estás en modo de depuración allí. si lo fuera, vería que esto arroja una excepción.

y estás atrapando allí, pero no la excepción lanzada 🙂

prueba esto:

 try { $success = $email->send(); ... } catch (SocketException $e) { // Exception would be too generic, so use SocketException here $errorMessage = $e->getMessage(); ... } 

de esta manera puedes ver la excepción y hacer aquí.