[Cascavel-pm] Enviar email com Perl usando Gmail

Márcio Ferreira Ribeiro mmmferreira em gmail.com
Quarta Setembro 21 06:20:13 PDT 2011


Olá Pessoal,

como vão?
Eu sei que é uma coisa simples, mas não consigo fazer funcionar. Eu sempre
enviei emails usando o sendmail local dos servidores onde trabalhei, e nesse
projeto não estava diferente, até que decidiram em mudar o provedor de
emails para o Google, usando o Gmail.
E há uma exigência para que o envio de emails (boletins de forma geral),
seja feito através dos servidores do Google.
Então fui procurar sobre isso na internet e encontrei algumas coisas bem
praticas mas nada funcionou

Receita de bolo 1 (Não retorna erros, alertas, nem nada):
use warnings;
use Mail::Webmail::Gmail;
    my $gmail = Mail::Webmail::Gmail->new(
                username => 'mmmferreira em gmail.com', password => 'XXXXXX',
            );

    $gmail->send_message( to => 'mmmferreira em gmail.com', subject => 'Test
Gmail', msgbody => 'This is a test 1.' );


Receita de bolo 2 (Não retorna erros, alertas, nem nada):
  use strict;
  use warnings;
  use Email::Send;
  use Email::Send::Gmail;
  use Email::Simple::Creator;

  my $email1 = Email::Simple->create(
      header => [
          From    => 'mmmferreira em gmail.com',
          To      => 'mmmferreira em gmail.com',
          Subject => 'Test Gmail',
      ],
      body => 'Test test',
  );

  my $sender = Email::Send->new(
      {   mailer      => 'SMTP::TLS',
          mailer_args => [
              Host => 'smtp.gmail.com',
           Port => 587,
        username => 'mmmferreira em gmail.com',
              password => 'XXXXXX',
          ]
      }
  );

  eval { $sender->send($email1) };
  die "Error sending email Gmail: $@" if $@;


Receita de bolo 3 (retorna esse erro: "Could not connect to SMTP server",
mas mesmo alterando SMTP para algumas sugestões que encontrei na internet,
tb não funcionou):
   use warnings;
   use Email::Send::SMTP::Gmail;

   my $mail=Email::Send::SMTP::Gmail->new( -smtp=>'gmail.com',
                                           -login=>'mmmferreira em gmail.com',
                                           -pass=>'XXXXXX');

   $mail->send(-to=>mmmferreira em gmail.com',
               -subject=>'Hello!',
               -verbose=>'1',
               -body=>'Just testing it'
        #,-attachments=>'full_path_to_file'
    );

   $mail->bye;



Já verifiquei se há algum bloqueio de portas nas duas máquinas que estou
testando e não encontrei nada. O POP3 e o IMAP estão habilitados na minha
conta pessoal que estou usando para testar.
Só me restou recorrer a vocês.

Agradeço por qq ajuda, dica ou direção q me derem.

Márcio Ferreira

-- 
Empregar.com <http://empregar.com%20>- Uma forma simples de encontrar seu
próximo emprego na Internet.
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/cascavel-pm/attachments/20110921/e6abf16a/attachment.html>


Mais detalhes sobre a lista de discussão Cascavel-pm