Comment envoyer un e-mail dans Ruby

Comment envoyer un e-mail dans Ruby
Ruby est un langage de programmation puissant mais aussi très facile à utiliser. Il est livré avec des fonctionnalités, et il permet à l'installation externe des gemmes d'étendre et d'améliorer sa fonctionnalité.

Ce tutoriel se concentre sur vous apprendre à utiliser la langue Ruby pour envoyer un e-mail à l'aide de la classe Net :: SMTP.

Comment envoyer un e-mail simple

Avant de pouvoir envoyer un e-mail à l'aide de SMTP Lib, nous devons l'importer. Vous pouvez le faire en ajoutant la clause requise comme:

nécessitent «net / smtp»

Une fois que SMTP a été importé, nous devons ouvrir une connexion au serveur SMTP. Pour ce faire, nous utiliserons la méthode :: Démarrer. Cette méthode prend une adresse comme l'adresse du serveur SMTP et le deuxième argument une valeur comme port pour le protocole SMTP.

Le :: start fermera automatiquement la connexion une fois qu'il terminera.

nécessitent «net / smtp»
# Connexion ouverte
Net :: smtp.Start ('LocalHost', 25) do | smtp |
#…
fin

L'étape suivante consiste à composer le message, qui a les composants suivants:

  1. Depuis - Cela définit le nom et l'adresse à partir de laquelle envoyer l'e-mail.
  2. Pour - Cela définit l'adresse du destinataire.
  3. Sujet - Sujet du message
  4. Date - Date
  5. ID du message - ID de message unique

Les composants d'en-tête sont la première partie de la chaîne de messagerie. Ensuite, séparez-les avec une nouvelle ligne et ajoutez le corps du message.

Enfin, fermez-le avec le bloc End_Of_Message.

Considérez l'exemple ci-dessous:

nécessitent «net / smtp»
message = << END_OF_MESSAGE
De moi
Pour vous
Sujet: le sujet par e-mail va ici
Date: Mer, 4 juil 2021 13:37:43 +0300
Message-id: 28
C'est le corps du message
End_of_message

Une fois la partie du message composée, nous pouvons utiliser la méthode Send_Message pour envoyer le message comme indiqué ci-dessous:

nécessitent «net / smtp»
message = << END_OF_MESSAGE
De moi
Pour vous
Sujet: le sujet par e-mail va ici
Date: Mer, 4 juil 2021 13:37:43 +0300
Message-id: 28
C'est le corps du message
End_of_message
Net :: smtp.Start ('LocalHost', 25) do | smtp |
smtp.Send_Message Message, 'Source @ Email.com ',' destinataire @ e-mail.com '
fin

Si vous devez spécifier les détails du serveur, tels que le nom d'utilisateur et le mot de passe, faites-le dans la méthode de démarrage comme:

Net :: smtp.Start ('LocalHost', 25, 'Mail.Domain''Username ',' Mot de passe ',: Login_method)

Dans cet exemple, nous spécifions le nom d'hôte, le nom d'utilisateur, le mot de passe et la méthode d'authentification du client. Les méthodes peuvent être claires, connectées, etc.

Pour envoyer l'e-mail à plusieurs utilisateurs, vous pouvez spécifier les adresses dans la méthode Send_Message comme:

nécessitent «net / smtp»
message = << END_OF_MESSAGE
De moi
Pour vous
Sujet: le sujet par e-mail va ici
Date: Mer, 4 juil 2021 13:37:43 +0300
Message-id: 28
C'est le corps du message
End_of_message
Net :: smtp.start ('localhost', 25, 'username', 'mot de passe' ,: login_method) do | smtp |
smtp.Send_Message Message, 'Source @ Email.com ',
'Destinataire E-mail.com ',
'deux @ destinataire.com ',
'trois @ destinataire.com ',
'Four @ destinataire.com '
fin

Et avec cela, vous pouvez envoyer un e-mail de base en utilisant la classe Ruby Net :: SMTP.

Conclusion

Ce court tutoriel vous a montré comment envoyer un e-mail de base en utilisant la classe Ruby Net :: SMTP. Considérez la documentation pour savoir comment vous pouvez développer la classe SMTP.