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