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.