Jak wysłać wiadomość e -mail w Ruby

Jak wysłać wiadomość e -mail w Ruby
Ruby jest potężnym, ale także bardzo łatwym w użyciu językiem programowania. Jest wypełniony funkcjami i pozwala zewnętrznej instalacji klejnotów rozszerzyć i poprawić swoją funkcjonalność.

Ten samouczek koncentruje się na nauczaniu, jak używać języka Ruby do wiadomości e -mail za pomocą netto :: SMTP Class.

Jak wysłać prosty e -mail

Zanim będziemy mogli wysłać wiadomość e -mail za pomocą SMTP LIB, musimy ją zaimportować. Możesz to zrobić, dodając wymaganą klauzulę jako:

Wymagaj „net/SMTP”

Po zaimportowaniu SMTP musimy otworzyć połączenie z serwerem SMTP. Aby to zrobić, użyjemy metody :: start. Ta metoda bierze adres jako adres serwera SMTP, a drugi argument wartość jako port dla protokołu SMTP.

:: start automatycznie zamknie połączenie po zakończeniu.

Wymagaj „net/SMTP”
# Otwórz połączenie
Net :: SMTP.Start („LocalHost”, 25) do | SMTP |
#…
koniec

Następnym krokiem jest skomponowanie wiadomości, która ma następujące komponenty:

  1. Z - To określa nazwę i adres, z którego można wysłać wiadomość e -mail.
  2. Do - To ustawia adres odbiorcy.
  3. Temat - Temat wiadomości
  4. Data - Data
  5. ID wiadomości - Unikalny identyfikator wiadomości

Komponenty nagłówka są pierwszą częścią ciągu e -mail. Następnie oddziel je nową linią i dodaj ciało wiadomości.

Na koniec zamknij go za pomocą bloku END_OF_MESSAGE.

Rozważ przykład pokazany poniżej:

Wymagaj „net/SMTP”
Wiadomość = << END_OF_MESSAGE
Ode mnie
Tobie
Temat: Temat e -mail idzie tutaj
Data: śr, 4 lipca 2021 13:37:43 +0300
Message-ID: 28
To jest ciało wiadomości
End_of_message

Po skomponowaniu części wiadomości możemy użyć metody send_message, aby wysłać wiadomość, jak pokazano poniżej:

Wymagaj „net/SMTP”
Wiadomość = << END_OF_MESSAGE
Ode mnie
Tobie
Temat: Temat e -mail idzie tutaj
Data: śr, 4 lipca 2021 13:37:43 +0300
Message-ID: 28
To jest ciało wiadomości
End_of_message
Net :: SMTP.Start („LocalHost”, 25) do | SMTP |
SMTP.Send_message Wiadomość, „źródło@e -mail.com ', „odbiorca@e -mail.com '
koniec

Jeśli chcesz określić dane serwera, takie jak nazwa użytkownika i hasło, zrób to w metodzie Start jako:

Net :: SMTP.Start („LocalHost”, 25, „Mail.domain''username ”,„ hasło ”,: login_method)

W tym przykładzie określamy nazwę hosta, nazwę użytkownika, hasło i metodę uwierzytelniania. Metody mogą być proste, logowanie itp.

Aby wysłać wiadomość e -mail do wielu użytkowników, możesz określić adresy w metodzie send_message jako:

Wymagaj „net/SMTP”
Wiadomość = << END_OF_MESSAGE
Ode mnie
Tobie
Temat: Temat e -mail idzie tutaj
Data: śr, 4 lipca 2021 13:37:43 +0300
Message-ID: 28
To jest ciało wiadomości
End_of_message
Net :: SMTP.start („LocalHost”, 25, „nazwa użytkownika”, „hasło”,: login_method) do | SMTP |
SMTP.Send_message Wiadomość, „źródło@e -mail.com ',
'email odbiorcy.com ',
„Dwóch odbiorcó[email protected] ',
„Trzy [email protected] ',
„cztery [email protected] '
koniec

I dzięki temu możesz wysłać podstawowy e -mail za pomocą klasy Ruby :: SMTP Class.

Wniosek

Ten krótki samouczek pokazał, jak wysłać podstawowy e -mail za pomocą klasy Ruby :: SMTP. Rozważ dokumentację, aby dowiedzieć się, jak rozwinąć klasę SMTP.