Como enviar um e -mail em ruby

Como enviar um e -mail em ruby
Ruby é uma linguagem de programação poderosa, mas também muito fácil de usar. Ele vem embalado com recursos e permite que a instalação externa do GEM estenda e melhore sua funcionalidade.

Este tutorial se concentra em ensinar a você como usar o idioma ruby ​​para enviar um e -mail usando a classe Net :: SMTP.

Como enviar um e -mail simples

Antes que possamos enviar um e -mail usando o SMTP LIB, precisamos importá -lo. Você pode fazer isso adicionando a cláusula necessária como:

requer 'net/smtp'

Depois de importar o SMTP, precisamos abrir uma conexão com o servidor SMTP. Para fazer isso, usaremos o método de início ::. Este método leva um endereço como o endereço do servidor SMTP e o segundo argumento um valor como a porta para o protocolo SMTP.

O :: Start fechará automaticamente a conexão assim que ela concluir.

requer 'net/smtp'
# Conexão aberta
Net :: smtp.Start ('localhost', 25) do | smtp |
#…
fim

O próximo passo é compor a mensagem, que possui os seguintes componentes:

  1. De - Isso define o nome e o endereço para enviar o email.
  2. Para - Isso define o endereço do destinatário.
  3. Assunto - Assunto da mensagem
  4. Data - Data
  5. ID da mensagem - ID de mensagem exclusiva

Os componentes do cabeçalho são a primeira parte da string de e -mail. Em seguida, separe -os com uma nova linha e adicione o corpo da mensagem.

Finalmente, feche -o com o bloco end_of_message.

Considere o exemplo mostrado abaixo:

requer 'net/smtp'
mensagem = << END_OF_MESSAGE
De mim
Para você
Assunto: o assunto do e -mail vai aqui
Data: Qua, 4 de julho de 2021 13:37:43 +0300
ID da mensagem: 28
Este é o corpo da mensagem
End_of_message

Depois de termos a peça da mensagem composta, podemos usar o método send_message para enviar a mensagem como mostrado abaixo:

requer 'net/smtp'
mensagem = << END_OF_MESSAGE
De mim
Para você
Assunto: o assunto do e -mail vai aqui
Data: Qua, 4 de julho de 2021 13:37:43 +0300
ID da mensagem: 28
Este é o corpo da mensagem
End_of_message
Net :: smtp.Start ('localhost', 25) do | smtp |
smtp.mensagem send_message, '[email protected] ',' destinatá[email protected] '
fim

Se você precisar especificar detalhes do servidor, como nome de usuário e senha, faça -o no método de início como:

Net :: smtp.Start ('localhost', 25, 'Mail.domain''username ',' senha ',: login_method)

Neste exemplo, especificamos o nome do host do cliente, nome de usuário, senha e método de autenticação. Os métodos podem ser claros, login, etc.

Para enviar o email para vários usuários, você pode especificar os endereços no método send_message como:

requer 'net/smtp'
mensagem = << END_OF_MESSAGE
De mim
Para você
Assunto: o assunto do e -mail vai aqui
Data: Qua, 4 de julho de 2021 13:37:43 +0300
ID da mensagem: 28
Este é o corpo da mensagem
End_of_message
Net :: smtp.Start ('localhost', 25, 'nome de usuário', 'senha' ,: login_method) do | smtp |
smtp.mensagem send_message, '[email protected] ',
'E-mail do destinatário.com ',
'Dois@destinatário.com ',
'Três@destinatário.com ',
'Quatro@destinatário.com '
fim

E com isso, você pode enviar um email básico usando a classe Ruby Net :: SMTP.

Conclusão

Este curto tutorial mostrou como enviar um email básico usando a classe Ruby Net :: SMTP. Considere a documentação para saber como você pode expandir a classe SMTP.