Test-Reporter-Transport-Legacy
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
lib/Test/Reporter/Transport/Net/SMTP.pm view on Meta::CPAN
use strict;
BEGIN{ if (not $] < 5.006) { require warnings; warnings->import } }
package Test::Reporter::Transport::Net::SMTP;
our $VERSION = '1.59'; # VERSION
use Test::Reporter::Transport 1.58;
our @ISA = qw/Test::Reporter::Transport/;
use Net::SMTP;
sub new {
my ($class, @args) = @_;
bless { args => \@args } => $class;
}
sub _net_class {
my ($self) = @_;
my $class = ref $self ? ref $self : $self;
my ($net_class) = ($class =~ /^Test::Reporter::Transport::(.+)\z/);
return $net_class;
}
# Next two subs courtesy of Casey West, Ricardo SIGNES, and Email::Date
# Visit the Perl Email Project at: http://emailproject.perl.org/
sub _tz_diff {
my ($self, $time) = @_;
my $diff = Time::Local::timegm(localtime $time)
- Time::Local::timegm(gmtime $time);
my $direc = $diff < 0 ? '-' : '+';
$diff = abs $diff;
my $tz_hr = int( $diff / 3600 );
my $tz_mi = int( $diff / 60 - $tz_hr * 60 );
return ($direc, $tz_hr, $tz_mi);
}
sub _format_date {
my ($self, $time) = @_;
$time = time unless defined $time;
my ($sec, $min, $hour, $mday, $mon, $year, $wday) = (localtime $time);
my $day = (qw[Sun Mon Tue Wed Thu Fri Sat])[$wday];
my $month = (qw[Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec])[$mon];
$year += 1900;
my ($direc, $tz_hr, $tz_mi) = $self->_tz_diff($time);
sprintf "%s, %d %s %d %02d:%02d:%02d %s%02d%02d",
$day, $mday, $month, $year, $hour, $min, $sec, $direc, $tz_hr, $tz_mi;
}
# Taken with slight modifications from MIME::QuotedPrint::Perl 1.00 by Gisle Aas
sub _encode_qp_perl {
my ($res,$eol) = @_;
$eol = "\n" unless defined $eol;
if (ord('A') == 193) { # on EBCDIC machines we need translation help
require Encode;
}
my $RE_Z = "\\z";
$RE_Z = "\$" if $] < 5.005;
if ($] >= 5.006) {
require bytes;
if (bytes::length($res) > length($res) ||
($] >= 5.008 && $res =~ /[^\0-\xFF]/))
{
require Carp;
Carp::croak("The Quoted-Printable encoding is only defined for bytes");
}
view all matches for this distributionview release on metacpan - search on metacpan
( run in 0.695 second using v1.00-cache-2.02-grep-82fe00e-cpan-f73e49a70403 )