Cómo enviar un correo electrónico en Ruby

Cómo enviar un correo electrónico en Ruby
Ruby es un lenguaje de programación poderoso pero también muy fácil de usar. Viene lleno de características, y permite que la instalación de gemas externos extienda y mejore su funcionalidad.

Este tutorial se centra en enseñarle cómo usar el lenguaje Ruby para enviar un correo electrónico usando la clase NET :: SMTP.

Cómo enviar un correo electrónico simple

Antes de que podamos enviar un correo electrónico con SMTP lib, necesitamos importarlo. Puede hacer esto agregando la cláusula requerida como:

requiere 'net/smtp'

Una vez que tenemos SMTP importado, necesitamos abrir una conexión al servidor SMTP. Para hacer esto, usaremos el método :: inicio. Este método toma una dirección como la dirección del servidor SMTP y el segundo argumento un valor como puerto para el protocolo SMTP.

El inicio :: cerrará automáticamente la conexión una vez que se complete.

requiere 'net/smtp'
# Conexión abierta
Net :: smtp.inicio ('localhost', 25) do | smtp |
#…
fin

El siguiente paso es componer el mensaje, que tiene los siguientes componentes:

  1. De - Esto define el nombre y la dirección de la cual enviar el correo electrónico.
  2. A - Esto establece la dirección del destinatario.
  3. Sujeto - Asunto del mensaje
  4. Fecha - Fecha
  5. ID de mensaje - ID de mensaje único

Los componentes del encabezado son la primera parte de la cadena de correo electrónico. A continuación, separarlos con una nueva línea y agregar el cuerpo del mensaje.

Finalmente, cierre con el bloque final_of_message.

Considere el ejemplo que se muestra a continuación:

requiere 'net/smtp'
mensaje = << END_OF_MESSAGE
De mi parte
A usted
Asunto: El tema del correo electrónico va aquí
Fecha: Mié, 4 de julio de 2021 13:37:43 +0300
ID de mensaje: 28
Este es el cuerpo del mensaje
End_of_message

Una vez que tenemos la parte del mensaje compuesta, podemos usar el método send_message para enviar el mensaje como se muestra a continuación:

requiere 'net/smtp'
mensaje = << END_OF_MESSAGE
De mi parte
A usted
Asunto: El tema del correo electrónico va aquí
Fecha: Mié, 4 de julio de 2021 13:37:43 +0300
ID de mensaje: 28
Este es el cuerpo del mensaje
End_of_message
Net :: smtp.inicio ('localhost', 25) do | smtp |
smtp.send_message Mensaje, 'Source@Correo electrónico.com ',' destinatario@correo electrónico.com '
fin

Si necesita especificar los detalles del servidor, como el nombre de usuario y la contraseña, hágalo en el método de inicio como:

Net :: smtp.Iniciar ('localhost', 25, 'correo.Domain''Username ',' Password ',: Login_method)

En este ejemplo, especificamos el nombre de host del cliente, nombre de usuario, contraseña y método de autenticación. Los métodos pueden ser simples, iniciar sesión, etc.

Para enviar el correo electrónico a varios usuarios, puede especificar las direcciones en el método send_message como:

requiere 'net/smtp'
mensaje = << END_OF_MESSAGE
De mi parte
A usted
Asunto: El tema del correo electrónico va aquí
Fecha: Mié, 4 de julio de 2021 13:37:43 +0300
ID de mensaje: 28
Este es el cuerpo del mensaje
End_of_message
Net :: smtp.inicio ('localhost', 25, 'nombre de usuario', 'contraseña' ,: login_method) do | smtp |
smtp.send_message Mensaje, 'Source@Correo electrónico.com ',
'Receptor de E-mail.com ',
'[email protected] ',
'[email protected] ',
'[email protected] '
fin

Y con eso, puede enviar un correo electrónico básico usando la clase Ruby Net :: SMTP.

Conclusión

Este breve tutorial le mostró cómo enviar un correo electrónico básico usando la clase Ruby Net :: SMTP. Considere la documentación para aprender cómo puede ampliar la clase SMTP.