Como enviar un correo si se produce un error en el sistema



Escenario:
En ocaciones es necesario gestionar cualquier error que se presente en sitios críticos donde cualquier error en la operación podría causar otros problemas, para éste caso es este artículo podría ayudarte, ya que Yii ofrece la opción de enviarte por correo en caso de generarse cualquier error. 



Para éste caso deberás de tener habilitado el módulo para enviar correos 'mailer'

Deberás agregar en el archivo de configuración "config/web.php" del proyecto las siguientes lineas.


         

        ........

         'log' => [
            'traceLevel' => YII_DEBUG ? 3 : 0,

            'targets' => [
                  [
                        'class' => 'yii\log\EmailTarget',
                        'mailer' => 'mailer',
                        'levels' => ['error'],   // Nives de errores
                        'categories' => [
                            'yii\base\ErrorException:*' //Todas las exceptions
                            ],
                        'message' => [
                            'from' => ['sistema@gmail.com'], //mail from con el que llegará
                            'to' => ['benjamin.castillo@gmail.com'], //mail destino
                            'subject' => 'Se detecto error en :' . $_SERVER['SERVER_NAME']

                        ]                    

                    ]

              ]

          .....





Observa que están dentro de la configuración de 'log'

Los niveles de errores que puedes usar los puedes configurar en ésta línea donde puedes separar por coma los niveles de error de los que quieres recibir correo:



         
...
'levels' => ['error','warning'],   // Nives de errores
....




Gracias por tus comentarios.

Fuentes de información:

https://www.yiiframework.com/doc/api/2.0/yii-log-emailtarget
https://www.yiiframework.com/doc/guide/2.0/en/runtime-logging
https://www.yiiframework.com/doc/guide/2.0/en/tutorial-mailing


Comentarios

Aprende Yii2


Lo más Visto

Tutorial de implementación de calendario de rango de fechas con Karkit en gridView

Cómo evitar el reenvío de formulario

Como instalar Yii en Windows usando App Serv

hostinger

ventana bienvenida