[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