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:
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.