¿Cómo saber si un servicio SMTP funciona? Te dejo un script...

A veces he tenido la necesidad de saber si un servicio de envío de correos está funcionando, y siempre uso el mismo script, le hice un pequeño refactor y aquí te los dejo...

@Grapes([
  @Grab(group='javax.mail', module='mail', version='1.4.7'),
  @Grab(group='org.springframework', module='spring-context-support', version='5.1.5.RELEASE')
])

import org.springframework.mail.MailSendException
import org.springframework.mail.SimpleMailMessage
import org.springframework.mail.javamail.JavaMailSender
import org.springframework.mail.javamail.JavaMailSenderImpl

textMessage = """
  Este es un correo de prueba que nos ayuda a determinar la comunicación
  entre el servidor SMTP y los diferentes remitentes, sus dominios y el rastreo de recepción.

  No hay que contestarlo.

  Enviado a las ${new Date()}

  Saludos
"""

SimpleMailMessage message = new SimpleMailMessage().with {
  from = "info@makingdevs.com"
  to = "juan@makingdevs.com"
  cc = "juan@makingdevs.com"
  subject = "Hello world"
  text = textMessage
  delegate
}

JavaMailSender mailSender = new JavaMailSenderImpl().with {
  port = 587
  host = "email-smtp.us-east-1.amazonaws.com"
  username = "NNNNNNNNNNNNNNNNNNNN"
  password = "YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY"
  javaMailProperties.with {
    put("mail.transport.protocol", "smtp")
    put("mail.smtp.auth", "true")
    put("mail.smtp.starttls.enable", "true")
    put("mail.smtp.starttls.required", "true")
    put("mail.debug", "true")
  }
  send message
}

println "Correo enviado!!! :)"

Lo único que tienes que hacer con Groovy instalado es correrlo groovy send_mail.groovy. No necesitas descargar nada, el script lo hace por ti...

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de Sr. Negativo

Muy útil, gracias por

Muy útil, gracias por compartir.