Come inviare un'e -mail in Ruby

Come inviare un'e -mail in Ruby
Ruby è un linguaggio di programmazione potente ma anche molto facile da usare. Viene ricco di funzionalità e consente all'installazione di gem esterne di estendere e migliorare la sua funzionalità.

Questo tutorial si concentra sull'insegnandoti come utilizzare Ruby Language per e -mail usando la classe Net :: SMTP.

Come inviare una semplice email

Prima di poter inviare un'e -mail utilizzando SMTP Lib, dobbiamo importarla. Puoi farlo aggiungendo la clausola richiesta come:

richiedere 'net/smtp'

Una volta importato SMTP, dobbiamo aprire una connessione al server SMTP. Per fare questo, useremo il metodo :: Start. Questo metodo prende un indirizzo come indirizzo del server SMTP e il secondo argomento un valore come porta per il protocollo SMTP.

Il :: start chiuderà automaticamente la connessione una volta completato.

richiedere 'net/smtp'
# Apri connessione
Net :: Smtp.start ('localhost', 25) do | smtp |
#..
FINE

Il prossimo passo è comporre il messaggio, che ha i seguenti componenti:

  1. Da - Questo definisce il nome e l'indirizzo da cui inviare l'e -mail.
  2. A - Questo imposta l'indirizzo del destinatario.
  3. Soggetto - Oggetto del messaggio
  4. Data - Data
  5. Message-id - ID messaggio univoco

I componenti di intestazione sono la prima parte della stringa e -mail. Quindi, separali con una nuova riga e aggiungi il corpo del messaggio.

Infine, chiudilo con il blocco end_of_message.

Considera l'esempio mostrato di seguito:

richiedere 'net/smtp'
messaggio = << END_OF_MESSAGE
Da me
A te
Oggetto: L'oggetto e -mail va qui
Data: mer, 4 luglio 2021 13:37:43 +0300
Message-id: 28
Questo è il corpo del messaggio
End_of_message

Una volta composta la parte del messaggio, possiamo utilizzare il metodo Send_Message per inviare il messaggio come mostrato di seguito:

richiedere 'net/smtp'
messaggio = << END_OF_MESSAGE
Da me
A te
Oggetto: L'oggetto e -mail va qui
Data: mer, 4 luglio 2021 13:37:43 +0300
Message-id: 28
Questo è il corpo del messaggio
End_of_message
Net :: Smtp.start ('localhost', 25) do | smtp |
Smtp.Messaggio Send_Message, '[email protected] ',' [email protected]
FINE

Se è necessario specificare i dettagli del server, come nome utente e password, farlo nel metodo di avvio come:

Net :: Smtp.Start ('LocalHost', 25, 'Mail.Domain''Username ',' Password ',: login_method)

In questo esempio, specifichiamo il nome host, il nome utente, la password e il metodo di autenticazione del client. I metodi possono essere semplici, login, ecc.

Per inviare l'e -mail a più utenti, è possibile specificare gli indirizzi nel metodo Send_Message come:

richiedere 'net/smtp'
messaggio = << END_OF_MESSAGE
Da me
A te
Oggetto: L'oggetto e -mail va qui
Data: mer, 4 luglio 2021 13:37:43 +0300
Message-id: 28
Questo è il corpo del messaggio
End_of_message
Net :: Smtp.start ('localhost', 25, 'nome utente', 'password' ,: login_method) do | smtp |
Smtp.Messaggio Send_Message, '[email protected],
'Destinatario dell'email.com,
'[email protected],
'[email protected],
'[email protected]
FINE

E con ciò, puoi inviare un'e -mail di base utilizzando la rete Ruby Net :: SMTP.

Conclusione

Questo breve tutorial ti ha mostrato come inviare un'e -mail di base utilizzando la rete Ruby Net :: SMTP. Considera la documentazione per imparare come puoi espandere sulla classe SMTP.