Envie um e-mail usando Perl

Envie Um E Mail Usando Perl



Existem muitos módulos em Perl para enviar um email do sistema operacional Ubuntu. O módulo “Net::SMTP::SSL” é um deles. Qualquer servidor SMTP válido com nome de usuário e senha corretos é necessário para enviar um email usando este módulo Perl. O servidor SMTP da conta do Gmail e o nome de usuário e senha válidos são usados ​​neste tutorial para enviar um e-mail usando o script Perl do sistema operacional Ubuntu. No entanto, a conta do Gmail requer algumas configurações para enviar o e-mail usando o servidor SMTP do Gmail. A opção “aplicativo menos seguro” de qualquer conta do Gmail é necessária para permitir o envio de e-mail usando o servidor SMTP do Gmail. Mas esta opção da conta Gmail foi retirada do ano de 2022. Agora, é preciso definir a “Senha do App” da conta Gmail para enviar os e-mails. Você deve definir esta senha para a conta do Gmail que será usada para enviar os e-mails antes de praticar os exemplos deste tutorial.

Diferentes exemplos de envio de e-mail

Os métodos de envio de e-mail usando o servidor SMTP do Gmail e uma conta do Gmail são mostrados nesta parte do tutorial.

Exemplo 1: Enviando um e-mail de texto simples

Crie um arquivo Perl com o script a seguir que envia um email de texto simples usando um servidor SMTP do Gmail. Você deve definir o endereço de e-mail válido e a senha definida para a senha do aplicativo nas variáveis ​​$username e $password. O nome de usuário e a senha fictícios são atribuídos no script. O e-mail não será enviado se a senha do aplicativo não estiver configurada corretamente. Em seguida, defina os endereços de e-mail válidos do destinatário e do remetente para as variáveis ​​$to e $from para verificar se o e-mail foi enviado corretamente. A outra parte do script permanece inalterada. Uma mensagem de texto simples será enviada ao endereço de e-mail do destinatário se o servidor SMTP estiver conectado e as informações do usuário forem autenticadas com sucesso.







#!/usr/bin/perl

#Importar módulos necessários
usar estrito ;
usar Net::SMTP::SSL ;

#Declare sub-rotina para enviar e-mail usando o servidor Gmail
sub enviarE-mail
{

#Nome de usuário e senha para autenticação
meu $nome de usuário = 'nomedeusuario@gmail.com' ;
minha $ senha = 'senha do aplicativo' ;

#Inicialize as variáveis ​​para envio de email
meu $ para = 'receptor@gmail.com' ;
meu $de = 'Meher Nigar ' ;
meu $assunto = ‘É um e-mail de teste’ ;
minha $mensagem = 'Olá, enviando e-mail usando Perl.' ;

#Declare a variável smtp
meu $ smtpServer ;

#Conecte-se ao servidor smtp do Gmail
se ( não $smtpServidor = Rede::SMTP::SSL- > novo ( 'smtp.gmail.com' , Porta => 465 , Depurar => 1 ) )
{
o 'Não foi possível conectar-se ao servidor SMTP. \n ' ;
}

#Verifique se o nome de usuário e a senha são válidos
$smtpServer- > autenticação ( $nome de usuário , $senha ) || o 'Erro de autenticação. \n ' ;

$smtpServer- > correspondência ( $de. ' \n ' ) ;
$smtpServer- > para ( $para. ' \n ' ) ;
$smtpServer- > dados ( ) ;
$smtpServer- > envio de dados ( 'De: ' . $de . ' \n ' ) ;
$smtpServer- > envio de dados ( 'Para: ' . $para. ' \n ' ) ;
$smtpServer- > envio de dados ( 'Assunto: ' . $assunto. ' \n ' ) ;
$smtpServer- > envio de dados ( ' \n ' ) ;

}

#Chama a sub-rotina

&enviar email ( ) ;

Saída:



As seguintes informações semelhantes aparecem no início da saída após a execução do script se o e-mail foi enviado com sucesso:







Ao abrir o endereço de e-mail do destinatário, você receberá o seguinte e-mail na caixa de entrada:

Exemplo 2: Enviando um e-mail formatado em HTML

Crie um arquivo Perl com o script a seguir que envia um email formatado em HTML usando um servidor SMTP do Gmail. Você deve definir um endereço de e-mail e uma senha válidos como no exemplo anterior. Em seguida, defina os endereços de e-mail válidos do destinatário e do remetente. O código HTML é adicionado como mensagem de email no script. O tipo de conteúdo do e-mail é definido como text/html para enviar o e-mail formatado em HTML. A outra parte do script é igual ao exemplo anterior. Um e-mail formatado em HTML será enviado ao endereço de e-mail do destinatário se o servidor SMTP estiver conectado e as informações do usuário forem autenticadas com sucesso.

#!/usr/bin/perl

#Importar módulos necessários
usar estrito ;
usar Net::SMTP::SSL ;

#Declare sub-rotina para enviar e-mail usando o servidor Gmail
sub enviarE-mail
{
#Nome de usuário e senha para autenticação
meu $nome de usuário = 'nomedeusuario@gmail.com' ;
minha $ senha = 'senha do aplicativo' ;

#Inicialize as variáveis ​​para envio de email
meu $ para = 'receptor@gmail.com' ;
meu $de = 'Meher Nigar ' ;
meu $assunto = 'Registro concluído' ;
minha $mensagem = '

Bem-vindo ao nosso site

'
;

#Declare a variável smtp
meu $ smtpServer ;

#Conecte-se ao servidor smtp do Gmail
se ( não $smtpServidor = Rede::SMTP::SSL- > novo ( 'smtp.gmail.com' , Porta => 465 , Depurar => 1 ) )
{
o 'Não foi possível conectar-se ao servidor SMTP. \n ' ;
}

#Verifique se o nome de usuário e a senha são válidos
$smtpServer- > autenticação ( $nome de usuário , $senha ) || o 'Erro de autenticação. \n ' ;

$smtpServer- > correspondência ( $de. ' \n ' ) ;
$smtpServer- > para ( $para. ' \n ' ) ;
$smtpServer- > dados ( ) ;
$smtpServer- > envio de dados ( 'De: ' . $de . ' \n ' ) ;
$smtpServer- > envio de dados ( 'Para: ' . $para. ' \n ' ) ;
$smtpServer- > envio de dados ( 'Assunto: ' . $assunto. ' \n ' ) ;

#Defina o tipo de conteúdo do e-mail como HTML para enviar e-mails formatados em HTML
$smtpServer- > envio de dados ( 'Tipo de conteúdo: text/html; charset=utf-8 \n \n ' ) ;
$smtpServer- > envio de dados ( $mensagem. ' \n ' ) ;
$smtpServer- > fim dos dados ( ) ;
$smtpServer- > desistir ;

}

#Chama a sub-rotina

&enviar email ( ) ;

Saída:



As seguintes informações semelhantes aparecem no início da saída após a execução do script se o e-mail foi enviado com sucesso:







Ao abrir o endereço de e-mail do destinatário, você receberá o seguinte e-mail na caixa de entrada:





Conclusão

Os métodos de envio de um e-mail usando Perl através do servidor SMTP do Gmail não são tão fáceis como antes, após desativar o “aplicativo menos seguro” da conta do Gmail. Mas você pode enviar um e-mail definindo a senha do aplicativo agora.