viernes, septiembre 21, 2018

Mailtrap: Un servidor SMTP falso para pruebas.

Está Escrito:
La gracia del Señor Jesucristo, el amor de Dios, y la comunión del Espíritu Santo sean con todos vosotros. Amén.
(2 Corintios 13:14)
Tomado de: Code Tutsplus
Mailtrap proporciona un servidor SMTP falso para que su equipo de desarrollo pueda probar, ver y compartir correos electrónicos enviados desde los entornos de preproducción y probar con datos reales sin el riesgo de enviar spam a clientes reales. Ha sido creado por Railsware y para muchas tareas de desarrollo, el uso de Mailtrap será gratuito.
Esencialmente, se registra en Mailtrap y envía todo el correo electrónico del entorno de preproducción a través de su servidor SMTP Mailtrap falso.
Use MailTrap to capture email from testing development and staging environments
Entonces, todos sus correos electronicos pertenecen a Mailtrap. Puede ver y depurar su correo electrónico dentro de la GUI amigable de Mailtrap.
Incluso puede utilizar Mailtrap para colocar vertederos de su base de datos de producción con correos electrónicos reales de usuario a través de pruebas en su servidor de ensayo. Sus pruebas automatizadas se pueden ejecutar contra el correo electrónico de envío de datos real a través de Mailtrap—eliminando el riesgo de que los correos electrónicos de prueba salgan a direcciones de correo electrónico de clientes reales.
Para pequeños desarrolladores o pequeñas tareas, Mailtrap es gratuito. Para mayores esfuerzos, los costos varían entre $ 120 y $ 300 al año:
Mailtrap Pricing
Registrarse es fácil. Incluso puedes usar tu cuenta de Google o GitHub:
Mailtrap Signup You can sign up via Google or Github
Utilicé mi cuenta de GitHub y el proceso fue fácil:
Authorize Signhub with Github via OAuth
Una vez confirmado, verás tu bandeja de entrada de demostración en la GUI de Mailtrap:
The Mailtrap dashboard with your inboxes
A continuación, voy a guiarlo a través de la configuración de Mailtrap dentro de su entorno de desarrollo.
Al hacer clic en el icono Configuración en la lista de Bandeja de entrada, verá que cada bandeja de entrada de Mailtrap tiene sus propias credenciales de servidor SMTP:
Mailtrap SMTP Server credentials
Puede restablecer estas credenciales cuando lo desee.
Mailtrap ofrece una variedad de ejemplos de configuración:

Mailtrap Dropdown selector for configuration options
Para simplificar, utilizaré la aplicación Hello de nuestra serie programación con Yii2 para configurar Mailtrap. Si desea utilizar el código de allí para probar Mailtrap, clone el repositorio GitHub vinculado a este tutorial.
Con Yii, estoy actualizando la configuración SMTP de SwiftMailer en config/web.php. Aquí está lo predeterminado:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
'errorHandler' => [
    'errorAction' => 'site/error',
],
'mailer' => [
        'class' => 'yii\swiftmailer\Mailer',
        'viewPath' => '@app/mailer',
        'useFileTransport' => false,
        'transport' => [
            'class' => 'Swift_SmtpTransport',
            'host' => 'your-smtp-host-domain',
            'username' => 'your-email-or-username',
            'password' => 'your-password',
            'port' => '587',
            'encryption' => 'tls',
                        ],
    ],
'log' => [
    'traceLevel' => YII_DEBUG ? 3 : 0,
Lo que cambié con mi configuración de Mailtrap:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
'errorHandler' => [
            'errorAction' => 'site/error',
        ],
        'mailer' => [
                'class' => 'yii\swiftmailer\Mailer',
                'viewPath' => '@app/mailer',
                'useFileTransport' => false,
                'transport' => [
                    'class' => 'Swift_SmtpTransport',
                    'host' => 'mailtrap.io',
                    'username' => '294XXXXXXXXXXdd20',
                    'password' => '403XXXXXXXXXX2f7',
                    'port' => '25',
                    'encryption' => 'tls',
                                ],
            ],
        'log' => [
            'traceLevel' => YII_DEBUG ? 3 : 0,
Entonces, visité http://localhost:8888/hello/user/register para registrarme de nuevo:
Yii Hello Application Sign Up
Yii envía un correo electrónico de confirmación:
Yii Confirmation Email Announcement
Al instante, el mensaje aparece en mi bandeja de entrada de Mailtrap.
Nota: Esto no debe confundirse con la confirmación de la cuenta de Mailtrap—es el correo electrónico de confirmación de la cuenta de la aplicación Yii Hello enviado por mi aplicación.
La pantalla predeterminada es la que puede ver en Gmail u otro cliente de correo:
Mailtrap inbox display
Pero hay muchas pestañas para elegir para depurar el correo electrónico saliente de su aplicación. Esta es la fuente HTML:
Mailtrap Message HTML source view
Esta es una vista de la validación de HTML en tu correo electrónico:
Mailtrap message Check HTML validator
Y aquí está un análisis de la puntuación de spam y la lista negra de su mensaje y servidor:
Mailtrap message analysis - spam report and blacklist report
Mailtrap es una manera tan poderosa de depurar el contenido y el marcado de mensajes de correo electrónico salientes.
Si su equipo es más grande, puede invitar a todos sus desarrolladores a acceder a cada buzón con vínculos:
Mailtrap invite developers into your inboxes
O bien, puede reenviar automáticamente todos los mensajes a sus propias cuentas e invitarlos a través de sus propias cuentas de Mailtrap:
Mailtrap forwarding and shared users
También puede escribir pruebas automatizadas contra el contenido del buzón de correo de Mailtrap utilizando su API, documentada en apiario. En otras palabras, podría ejecutar secuencias de comandos automatizadas contra una instantánea de su base de datos de producción en directo y verificar el contenido y el marcado de los mensajes que serían entregados por su base de código mediante la API de Mailtrap.
The Mailtrap API inbox message view example
Las capacidades de Mailtrap y las funciones de depuración son obviamente muy útiles y asequibles. Si desea ver otra demostración, aquí hay una charla relámpago en Mailtrap de Yaroslav Lazor de Railsberry 2012:
Es un producto tan simple de usar y tan beneficioso que espero que lo pruebes por tu cuenta.
Envíe sus comentarios, correcciones o ideas adicionales a continuación. Puedes navegar por mis otros tutoriales de Tuts+ en mi página de instructor o seguirme en Twitter @reifman.