Verschillende voorbeelden van het verzenden van een e-mail
De methoden voor het verzenden van een e-mail met behulp van de Gmail SMTP-server en een Gmail-account worden in dit deel van de zelfstudie getoond.
Voorbeeld 1: Een eenvoudige tekst-e-mail verzenden
Maak een Perl-bestand met het volgende script dat een eenvoudige tekst-e-mail verzendt via een Gmail SMTP-server. U moet het geldige e-mailadres en het wachtwoord dat is ingesteld voor het app-wachtwoord instellen in de variabelen $username en $password. De dummy-gebruikersnaam en het wachtwoord worden in het script toegewezen. De e-mail wordt niet verzonden als het app-wachtwoord niet correct is geconfigureerd. Stel vervolgens de geldige e-mailadressen van de ontvanger en de afzender in op de variabelen $to en $from om te controleren of de e-mail correct wordt verzonden. Het andere deel van het script blijft ongewijzigd. Er wordt een eenvoudig sms-bericht naar het e-mailadres van de ontvanger verzonden als de SMTP-server is verbonden en de gebruikersgegevens met succes zijn geverifieerd.
#!/usr/bin/perl
#Importeer de benodigde modules
gebruik strikt ;
gebruik Net::SMTP::SSL ;
#Declareer subroutine om e-mail te verzenden via de Gmail-server
sub verzendE-mail
{
#Gebruikersnaam en wachtwoord voor authenticatie
mijn $gebruikersnaam = 'gebruikersnaam@gmail.com' ;
mijn $wachtwoord = 'app-wachtwoord' ;
#Initialiseer de variabelen voor het verzenden van e-mail
mijn $aan = 'ontvanger@gmail.com' ;
mijn $van = 'Meher Nigar
mijn $onderwerp = 'Het is een testmail' ;
mijn $bericht = 'Hallo, e-mail verzenden met Perl.' ;
#Declareer de smtp-variabele
mijn $smtpServer ;
#Verbind met de Gmail smtp-server
als ( niet $smtpServer = Netto::SMTP::SSL- > nieuw ( 'smtp.gmail.com' , Haven => 465 , Foutopsporing => 1 ) )
{
de 'Kan geen verbinding maken met de SMTP-server. \N ' ;
}
#Controleer of de gebruikersnaam en het wachtwoord geldig zijn
$smtpServer- > auth ( $gebruikersnaam , $wachtwoord ) || de 'Authenticatiefout. \N ' ;
$smtpServer- > mail ( $van. ' \N ' ) ;
$smtpServer- > naar ( $aan. ' \N ' ) ;
$smtpServer- > gegevens ( ) ;
$smtpServer- > gegevens verzenden ( 'Van: ' . $vanaf. ' \N ' ) ;
$smtpServer- > gegevens verzenden ( 'Naar: ' . $naar . ' \N ' ) ;
$smtpServer- > gegevens verzenden ( 'Onderwerp: ' . $onderwerp . ' \N ' ) ;
$smtpServer- > gegevens verzenden ( ' \N ' ) ;
}
#Roep de subroutine op
&verzend een e-mail ( ) ;
Uitgang:
De volgende soortgelijke informatie verschijnt aan het begin van de uitvoer na het uitvoeren van het script als de e-mail succesvol is verzonden:
Wanneer u het e-mailadres van de ontvanger opent, ontvangt u de volgende e-mail in de inbox:
Voorbeeld 2: Een HTML-geformatteerde e-mail verzenden
Maak een Perl-bestand met het volgende script dat een HTML-geformatteerde e-mail verzendt via een Gmail SMTP-server. U moet een geldig e-mailadres en wachtwoord instellen zoals in het vorige voorbeeld. Stel vervolgens de geldige e-mailadressen van de ontvanger en de afzender in. De HTML-code wordt als e-mailbericht in het script toegevoegd. Het inhoudstype van de e-mail is ingesteld op text/html om de HTML-geformatteerde e-mail te verzenden. Het andere deel van het script is hetzelfde als het vorige voorbeeld. Er wordt een HTML-geformatteerde e-mail verzonden naar het e-mailadres van de ontvanger als de SMTP-server is verbonden en de gebruikersgegevens met succes zijn geverifieerd.
#!/usr/bin/perl#Importeer de benodigde modules
gebruik strikt ;
gebruik Net::SMTP::SSL ;
#Declareer subroutine om e-mail te verzenden via de Gmail-server
sub verzendE-mail
{
#Gebruikersnaam en wachtwoord voor authenticatie
mijn $gebruikersnaam = 'gebruikersnaam@gmail.com' ;
mijn $wachtwoord = 'app-wachtwoord' ;
#Initialiseer de variabelen voor het verzenden van e-mail
mijn $aan = 'ontvanger@gmail.com' ;
mijn $van = 'Meher Nigar
mijn $onderwerp = 'Registratie voltooid' ;
mijn $bericht = '
Welkom op onze site
' ;#Declareer de smtp-variabele
mijn $smtpServer ;
#Verbind met de Gmail smtp-server
als ( niet $smtpServer = Netto::SMTP::SSL- > nieuw ( 'smtp.gmail.com' , Haven => 465 , Foutopsporing => 1 ) )
{
de 'Kan geen verbinding maken met de SMTP-server. \N ' ;
}
#Controleer of de gebruikersnaam en het wachtwoord geldig zijn
$smtpServer- > auth ( $gebruikersnaam , $wachtwoord ) || de 'Authenticatiefout. \N ' ;
$smtpServer- > mail ( $van. ' \N ' ) ;
$smtpServer- > naar ( $aan. ' \N ' ) ;
$smtpServer- > gegevens ( ) ;
$smtpServer- > gegevens verzenden ( 'Van: ' . $vanaf. ' \N ' ) ;
$smtpServer- > gegevens verzenden ( 'Naar: ' . $naar . ' \N ' ) ;
$smtpServer- > gegevens verzenden ( 'Onderwerp: ' . $onderwerp . ' \N ' ) ;
#Stel het e-mailinhoudstype in op HTML voor het verzenden van html-geformatteerde e-mail
$smtpServer- > gegevens verzenden ( 'Inhoudstype: tekst/html; charset=utf-8 \N \N ' ) ;
$smtpServer- > gegevens verzenden ( $ bericht. ' \N ' ) ;
$smtpServer- > gegevens einde ( ) ;
$smtpServer- > ontslag nemen ;
}
#Roep de subroutine op
&verzend een e-mail ( ) ;
Uitgang:
De volgende soortgelijke informatie verschijnt aan het begin van de uitvoer na het uitvoeren van het script als de e-mail succesvol is verzonden:
Wanneer u het e-mailadres van de ontvanger opent, ontvangt u de volgende e-mail in de inbox:
Conclusie
De methoden voor het verzenden van een e-mail met Perl via de Gmail SMTP-server zijn niet zo eenvoudig als voorheen na het uitschakelen van de “minder veilige app” van het Gmail-account. Maar u kunt een e-mail verzenden door nu het app-wachtwoord in te stellen.