Wyślij e-mail za pomocą Perla

Wyslij E Mail Za Pomoca Perla



W Perlu istnieje wiele modułów umożliwiających wysyłanie wiadomości e-mail z systemu operacyjnego Ubuntu. Jednym z nich jest moduł „Net::SMTP::SSL”. Do wysłania wiadomości e-mail za pomocą tego modułu Perla wymagany jest każdy prawidłowy serwer SMTP z poprawną nazwą użytkownika i hasłem. W tym samouczku do wysyłania wiadomości e-mail przy użyciu skryptu Perl z systemu operacyjnego Ubuntu używany jest serwer SMTP konta Gmail oraz ważna nazwa użytkownika i hasło. Jednak konto Gmail wymaga pewnych konfiguracji, aby wysyłać wiadomości e-mail za pomocą serwera SMTP Gmaila. Aby umożliwić wysyłanie wiadomości e-mail za pomocą serwera SMTP Gmaila, wymagana jest opcja „mniej bezpieczna aplikacja” na dowolnym koncie Gmail. Ale ta opcja konta Gmail zostanie usunięta od roku 2022. Teraz musisz ustawić „Hasło do aplikacji” konta Gmail, aby wysyłać e-maile. Zanim przećwiczysz przykłady z tego samouczka, musisz ustawić to hasło dla konta Gmail, które będzie używane do wysyłania wiadomości e-mail.

Różne przykłady wysyłania wiadomości e-mail

W tej części poradnika przedstawiono sposoby wysyłania wiadomości e-mail przy użyciu serwera SMTP Gmail i konta Gmail.

Przykład 1: Wysyłanie prostego e-maila tekstowego

Utwórz plik Perla za pomocą poniższego skryptu, który wysyła prostą wiadomość tekstową za pomocą serwera SMTP Gmaila. Musisz ustawić prawidłowy adres e-mail i hasło ustawione dla hasła aplikacji w zmiennych $username i $password. Sztuczna nazwa użytkownika i hasło są przypisane w skrypcie. Wiadomość e-mail nie zostanie wysłana, jeśli hasło do aplikacji nie zostanie poprawnie skonfigurowane. Następnie ustaw prawidłowe adresy e-mail odbiorcy i nadawcy na zmienne $to i $from, aby sprawdzić, czy wiadomość e-mail zostanie wysłana prawidłowo. Pozostała część scenariusza pozostaje niezmieniona. Jeśli serwer SMTP jest podłączony i dane użytkownika zostały pomyślnie uwierzytelnione, na adres e-mail odbiorcy wysyłana jest prosta wiadomość tekstowa.







#!/usr/bin/perl

#Importuj niezbędne moduły
użyj ścisłego ;
użyj Net::SMTP::SSL ;

#Declare podprogram do wysyłania wiadomości e-mail przy użyciu serwera Gmail
sub wyślij e-mail
{

#Nazwa użytkownika i hasło do uwierzytelnienia
moja nazwa użytkownika = „nazwa użytkownika@gmail.com” ;
moje $hasło = „hasło do aplikacji” ;

#Zainicjuj zmienne do wysyłania wiadomości e-mail
moje $do = „odbiorca@gmail.com” ;
moje $od = „Meher Nigar ;
mój $temat = „To jest e-mail testowy” ;
moja $wiadomość = 'Witam, wysyłam e-mail przy użyciu Perla.' ;

#Zadeklaruj zmienną smtp
mój $smtpServer ;

#Połącz się z serwerem smtp Gmaila
Jeśli ( nie $smtpServer = Net::SMTP::SSL- > nowy ( „smtp.gmail.com” , Port => 465 , Odpluskwić => 1 ) )
{
the „Nie można połączyć się z serwerem SMTP. \N ' ;
}

#Sprawdź, czy nazwa użytkownika i hasło są prawidłowe
$smtpServer- > autoryzacja ( $nazwa użytkownika , $hasło ) || the 'Błąd autoryzacji. \N ' ;

$smtpServer- > Poczta ( $od. ' \N ' ) ;
$smtpServer- > Do ( $do. ' \N ' ) ;
$smtpServer- > dane ( ) ;
$smtpServer- > wysyłanie danych ( 'Z: ' . $od . ' \N ' ) ;
$smtpServer- > wysyłanie danych ( 'Do: ' . $do . ' \N ' ) ;
$smtpServer- > wysyłanie danych ( 'Temat: ' . $temat . ' \N ' ) ;
$smtpServer- > wysyłanie danych ( ' \N ' ) ;

}

#Wywołaj podprogram

&wysłać email ( ) ;

Wyjście:



Poniższa podobna informacja pojawia się na początku wyniku po wykonaniu skryptu, jeśli wiadomość e-mail została pomyślnie wysłana:







Po otwarciu adresu e-mail odbiorcy w skrzynce odbiorczej otrzymasz następujący e-mail:

Przykład 2: Wysyłanie wiadomości e-mail w formacie HTML

Utwórz plik Perla za pomocą poniższego skryptu, który wysyła wiadomość e-mail w formacie HTML przy użyciu serwera SMTP Gmaila. Musisz ustawić prawidłowy adres e-mail i hasło, jak w poprzednim przykładzie. Następnie ustaw prawidłowe adresy e-mail odbiorcy i nadawcy. Kod HTML jest dodawany jako wiadomość e-mail w skrypcie. Typ zawartości wiadomości e-mail jest ustawiony na tekst/html, aby wysłać wiadomość w formacie HTML. Pozostała część skryptu jest taka sama jak w poprzednim przykładzie. Wiadomość e-mail w formacie HTML jest wysyłana na adres e-mail odbiorcy, jeśli serwer SMTP jest podłączony, a dane użytkownika zostały pomyślnie uwierzytelnione.

#!/usr/bin/perl

#Importuj niezbędne moduły
użyj ścisłego ;
użyj Net::SMTP::SSL ;

#Declare podprogram do wysyłania wiadomości e-mail przy użyciu serwera Gmail
sub wyślij e-mail
{
#Nazwa użytkownika i hasło do uwierzytelnienia
moja nazwa użytkownika = „nazwa użytkownika@gmail.com” ;
moje $hasło = „hasło do aplikacji” ;

#Zainicjuj zmienne do wysyłania wiadomości e-mail
moje $do = „odbiorca@gmail.com” ;
moje $od = „Meher Nigar ;
mój $temat = 'Rejestracja zakończona' ;
moja $wiadomość = '

Witamy w naszej witrynie

'
;

#Zadeklaruj zmienną smtp
mój $smtpServer ;

#Połącz się z serwerem smtp Gmaila
Jeśli ( nie $smtpServer = Net::SMTP::SSL- > nowy ( „smtp.gmail.com” , Port => 465 , Odpluskwić => 1 ) )
{
the „Nie można połączyć się z serwerem SMTP. \N ' ;
}

#Sprawdź, czy nazwa użytkownika i hasło są prawidłowe
$smtpServer- > autoryzacja ( $nazwa użytkownika , $hasło ) || the 'Błąd autoryzacji. \N ' ;

$smtpServer- > Poczta ( $od. ' \N ' ) ;
$smtpServer- > Do ( $do. ' \N ' ) ;
$smtpServer- > dane ( ) ;
$smtpServer- > wysyłanie danych ( 'Z: ' . $od . ' \N ' ) ;
$smtpServer- > wysyłanie danych ( 'Do: ' . $do . ' \N ' ) ;
$smtpServer- > wysyłanie danych ( 'Temat: ' . $temat . ' \N ' ) ;

#Ustaw typ zawartości wiadomości e-mail na HTML, aby móc wysyłać wiadomości w formacie HTML
$smtpServer- > wysyłanie danych ( „Typ zawartości: tekst/html; charset=utf-8 \N \N ' ) ;
$smtpServer- > wysyłanie danych ( $wiadomość. ' \N ' ) ;
$smtpServer- > koniec danych ( ) ;
$smtpServer- > zrezygnować ;

}

#Wywołaj podprogram

&wysłać email ( ) ;

Wyjście:



Poniższa podobna informacja pojawia się na początku wyniku po wykonaniu skryptu, jeśli wiadomość e-mail została pomyślnie wysłana:







Po otwarciu adresu e-mail odbiorcy w skrzynce odbiorczej otrzymasz następujący e-mail:





Wniosek

Metody wysyłania wiadomości e-mail za pomocą Perla przez serwer SMTP Gmaila nie są już tak proste jak wcześniej po wyłączeniu „mniej bezpiecznej aplikacji” na koncie Gmail. Możesz jednak wysłać e-mail, ustawiając teraz hasło do aplikacji.