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

Guía rápida para uso de widget kartik para select para formulario

Cómo incluir una vista dentro de un modal

Google Plus desaparecerá el 4 de Abril de 2019

Crear fomulario HTML con checkbox sin Active Record

hostinger

ventana bienvenida