[Cascavel-pm] dificuldades de uso com o CPAN::Reporter
Alceu R. de Freitas Jr.
glasswalk3r em yahoo.com.br
Sexta Janeiro 9 06:50:29 PST 2009
Esse assunto está relacionado com esse aqui: http://mail.pm.org/pipermail/cascavel-pm/2009-January/014477.html
Eu tive dificuldades em usar o CPAN::Reporter por não conseguir usar um servidor SMTP sem autenticação. O Alexei propôs uma solução de usar um servidor Postfix para fazer relay para o Gmail, mas isso não funciona em ambientes puramente Windows.
Eu aindei fuçando a documentação e aparentemente (eu não testei) é possível usar SMTP autenticado. Mas para fazer isso é necessário ler também a documentação do CPAN::Reporter::Config e do Test::Reporter (e módulos no mesmo namespace dele). Eu usei o "transporte" File e funcionou normalmente.
Como estou numa máquina Windows com ActivePerl num ambiente aonde eu não posso usar um servidor SMTP diretamente, eu resolvi usar o Outlook. Criei o código abaixo e aparentemente o envio do relatório funciona normalmente (mas eu não consegui configurar o header específico X-Reported-Via, já que para configurar isso no Outlook é preciso usar o Redemption e eu não tenho tempo pra isso).
Segue abaixo o código que escrevi:
use strict;
use warnings;
package Test::Reporter::Transport::Outlook;
use base 'Test::Reporter::Transport';
use vars qw/$VERSION/;
use Mail::Outlook;
$VERSION = '0.01';
$VERSION = eval $VERSION;
sub new {
my $class = shift;
my $self = { _outlook => Mail::Outlook->new() };
return bless $self, $class;
}
sub get_outlook {
my $self = shift;
return $self->{_outlook};
}
sub send {
my ( $self, $report ) = @_;
my $message = $self->get_outlook()->create();
$message->To( $report->address() );
$message->Subject( $report->subject() );
$message->Body( $report->report() );
$message->display();
return;
}
1;
Detalhe: patches de segurança não permitem o envio de emails automaticamente. A mensagem será aberta no Outlook e o programador vai ter que enviar manualmente. Pelo menos dá para ver o relatório antes de mandar. :-)
Se alguém topar testar e me dar um retorno de que está OK, eu publico isso no CPAN (se receber a autorização para usar o namespace, é claro).
[]'s
Alceu Rodrigues de Freitas Junior
--------------------------------------
glasswalk3r em yahoo.com.br
---
A well-used door needs no oil on its hinges.
A swift-flowing stream does not grow stagnant.
Neither sound nor thoughts can travel through a vacuum.
Software rots if not used.
These are great mysteries -- The Tao Of Programming, 5.1
Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com
Mais detalhes sobre a lista de discussão Cascavel-pm