[Cascavel-pm] enviando e-mails localmente e enviando via smtp

Igor Sutton igor.sutton em gmail.com
Sexta Abril 4 11:14:34 PDT 2008


On Apr 4, 2008, at 2:36 AM, Joao Gabriel C. Laass wrote:

> segue dois exemplos (o port 587 é do gmail):
>
> <code>
> use Net::SMTP_auth;
> $smtp = Net::SMTP_auth->new("$servidor", Port=>587, Timeout=>60,  
> Debug=>1);
> $smtp->auth('PLAIN',$usuario,$senha);
> $smtp->mail($de);
> $smtp->to($para);
> $smtp->data();
> $smtp->datasend("To: $para\n");
> $smtp->datasend("From: $de\n");
> $smtp->datasend("Subject: $titulo\n");
> $smtp->datasend("Content-type: text/html\n\n");
> $smtp->datasend($mensagem);
> $smtp->dataend();
> $smtp->quit;
> </code>
> Não da erro, mas também não recebo o e-mail;
>
> <code>
> use MIME::Lite;
> 	$msg = MIME::Lite->new(
>                From    =>'usuario em gmail.com', # de
>                To      =>'usuario em gmail.com', # para
>                Cc      =>'copia em gmail.com', # Copia?
>                Subject =>'com modulo', #titulo
>                Type    =>'text/html',
>                Data    =>'teste',
>                );
> $msg->send('smtp','smtp.gmail.com',AuthUser=>'usuario em gmail.com',
> AuthPass=>'senha', Port=>587, Debug=>1);
> </code>
> Da o seguinte erro:
> " SMTP MAIL command failed:  5.7.0 Must issue a STARTTLS command
> first. 62sm5341073wri.30 "
>
> Bom, explicando, gostaria de enviar e-mails de minha contado gmail
> para qualquer outro e-mail, usando perl e do meu pc.

Hrm, o problema, como eu havia falado, é que o Gmail usa SSL/TLS por  
default. Procurando por TLS no CPAN, encontrei o Net::SMTP::TLS.  
Segundo esta url[1], também é possível utilizar o Net::SMTP::SSL para  
o mesmo fim -- e tem até uma receita de bolo.

Boa sorte!

[1] http://robertmaldon.blogspot.com/2006/10/sending-email-through-google-smtp-from.html

-- Igor



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