The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Test::Reporter::Transport::Outlook - MS Outlook as transport for Test::Reporter

SYNOPSIS

        use warnings;
        use strict;
        use Test::Reporter;
        use Test::Reporter::Transport::Outlook;

        my $reporter = Test::Reporter->new(
                grade        => 'fail',
                distribution => 'Mail-Freshmeat-1.20',
                from         => 'whoever@wherever.net (Whoever Wherever)',
                comments     => 'output of a failed make test goes here...',
                via          => 'CPANPLUS X.Y.Z',
        );

        my $sender = Test::Reporter::Transport::Outlook->new(0);

        $sender->send($reporter);

DESCRIPTION

If you want to test Perl modules for CPAN but is located in a very restricted environment, without HTTP or SMTP access outside the network and can count only with an Outlook and Exchange server to send emails, this module is for you.

This module will use Win32::OLE module with MS Outlook to create a new email message. This message will contain all information regarding the test report and would be ready to be sent if new security patches of Outlook didn't forbid that.

As an alternative, the message can be saved on the "Drafts" (or whatever is called in your computer) or can be displayed so you will only need to click (or review before clicking) the report. Default behavior is to save the email so you can avoid having lot's of new email messages being opened if you're testing real hard new distributions.

Of course, this module expects that you're in a MS Windows machine with MS Outlook installed. This module will not work in other operational systems.

USAGE

See Test::Reporter and Test::Reporter::Transport for general usage information.

Transport Arguments

    $report->transport_args( 1 );

See new method to understand this parameter.

METHODS

These methods are only for internal use by Test::Reporter.

new

    my $sender = Test::Reporter::Transport::Outlook->new( 0 ); 

The new method is the object constructor.

There is an optional parameter that is related if the email will be saved in the Drafts folder (the default behavior) or displayed to the user executing this module. The valid values are true (1) or false (0) respectivally. Anything else will generate an exception.

To save the message, nothing needs to be passed. To display the message, pass 0 as an argument.

The message will be saved or displayed upon invocation of the method send.

get_outlook

Returns the Mail::Outlook object that represents the MS Outlook application.

send

Display or save the message in the Outlook, depends on the values defined during object creation. See the method new for more details.

Expects as a parameter a Test::Reporter object. Returns true in case of success or false in failure (1 or 0);

CONFIGURATION

Test::Reporter::Transport::Outlook can be configured with CPAN::Reporter as described in CPAN::Reporter::Config.

In the config.ini file, include the line

        transport=Outlook

to enable using of Test::Reporter::Transport::Outlook as the method of transport for reports. If you want to create new messages like drafts, nothing else needs to be done. But if you want the messages to pop up before sending them, then it's necessary to disable the default behaviour by using the line

        transport=Outlook 0

in the config.ini file.

CAVEATS

Even by saving the messages as drafts, sending lot's of reports by clicking "Send" message by message can be a pain. Due to the security patches on Microsoft Outlook, the only alternative is to use the Redemption DLL to avoid the patches applied by Microsoft and send the messages directly.

Test::Reporter::Transport::Outlook uses Mail::Outlook to create and send emails messages with Outlook. This issue is better documented there.

There is a good change that Redemption DLL may be included in Mail::Outlook distribution and once this is done, then it will be possible to send reports of tests without user intervention.

Another issue is the customized header (X-Reported-Via) used by CPAN::Reporter emails to help the CPAN testers identify which transport was used to send the received report. While sending this header is not a mandatory feature, do not sending it makes the life of CPAN testers more difficult to identify issues. Once again, there is not way to set this header by using only Outlook. To be able to send such header, it's necessary:

1. Redemption DLL using
2. The Exchange server which Outlook will use to send the message must allow the specified header to be sent.

Even if the Redemption DLL is used, there is no guarantee that the message will have the specified header by Outlook side. You will need to check it with your Exchange server administrator to enable that.

SEE ALSO

AUTHOR

 Alceu Rodrigues de Freitas Junior <arfreitas@cpan.org>.

COPYRIGHT

 Copyright (C) 2009 Alceu Rodrigues de Freitas Junior

 All rights reserved.

LICENSE

This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself.