Mail-Transport-3.007/ 0000755 0001750 0000144 00000000000 15056000320 015104 5 ustar 00markov users 0000000 0000000 Mail-Transport-3.007/README.md 0000644 0001750 0000144 00000004304 15051554017 016400 0 ustar 00markov users 0000000 0000000 # distribution Mail-Transport
* My extended documentation:
* Development via GitHub:
* Download from CPAN:
* Indexed from CPAN:
Until release 3.0, this module was an integral part of the Mail-Box
distribution. This distribution is dedicate to sending email messages
via various Mail Transfer Agents (MTAs) like postfix or exim.
It is part of the MailBox collection of modules, however: you are not
limited to "Mail::Message" messages.
## Development → Release
Important to know, is that I use an extension on POD to write the manuals.
The "raw" unprocessed version is visible on GitHub. It will run without
problems, but does not contain manual-pages.
Releases to CPAN are different: "raw" documentation gets removed from
the code and translated into real POD and clean HTML. This reformatting
is implemented with the OODoc distribution (A name I chose before OpenOffice
existed, sorry for the confusion)
Clone from github for the "raw" version. For instance, when you want
to contribute a new feature.
On github, you can find the processed version for each release. But the
better source is CPAN; to get it installed simply run:
```sh
cpan -i Mail::Transport
```
## Contributing
When you want to contribute to this module, you do not need to provide
a perfect patch... actually: it is nearly impossible to create a patch
which I will merge without modification. Usually, I need to adapt the
style of code and documentation to my own strict rules.
When you submit an extension, please contribute a set with
1. code
2. code documentation
3. regression tests in t/
**Please note:**
When you contribute in any way, you agree to transfer the copyrights to
Mark Overmeer (you will get the honors in the code and/or ChangeLog).
You also automatically agree that your contribution is released under
the same license as this project: licensed as perl itself.
## Copyright and License
This project is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
See
Mail-Transport-3.007/lib/ 0000755 0001750 0000144 00000000000 15056000320 015652 5 ustar 00markov users 0000000 0000000 Mail-Transport-3.007/lib/Mail/ 0000755 0001750 0000144 00000000000 15056000320 016534 5 ustar 00markov users 0000000 0000000 Mail-Transport-3.007/lib/Mail/Transport/ 0000755 0001750 0000144 00000000000 15056000320 020530 5 ustar 00markov users 0000000 0000000 Mail-Transport-3.007/lib/Mail/Transport/Sendmail.pm 0000644 0001750 0000144 00000003211 15056000316 022624 0 ustar 00markov users 0000000 0000000 # Copyrights 2001-2025 by [Mark Overmeer].
# For other contributors see ChangeLog.
# See the manual pages for details on the licensing terms.
# Pod stripped from pm file by OODoc 2.02.
# This code is part of distribution Mail-Transport. Meta-POD processed with
# OODoc into POD and HTML manual-pages. See README.md
# Copyright Mark Overmeer. Licensed under the same terms as Perl itself.
package Mail::Transport::Sendmail;
use vars '$VERSION';
$VERSION = '3.007';
use base 'Mail::Transport::Send';
use strict;
use warnings;
use Carp;
sub init($)
{ my ($self, $args) = @_;
$args->{via} = 'sendmail';
$self->SUPER::init($args) or return;
$self->{MTS_program} = $args->{proxy} || $self->findBinary('sendmail') || return;
$self->{MTS_opts} = $args->{sendmail_options} || [];
$self;
}
#------------------------------------------
sub trySend($@)
{ my ($self, $message, %args) = @_;
my $program = $self->{MTS_program};
my $mailer;
if(open($mailer, '|-')==0)
{ # Child process is sendmail binary
my $options = $args{sendmail_options} || [];
my @to = map $_->address, $self->destinations($message, $args{to});
# {} to avoid warning about code after exec
{ exec $program, '-i', @{$self->{MTS_opts}}, @$options, @to; }
$self->log(NOTICE => "Errors when opening pipe to $program: $!");
exit 1;
}
# Parent process is the main program, still
$self->putContent($message, $mailer, undisclosed => 1);
unless($mailer->close)
{ $self->log(NOTICE => "Errors when closing sendmail mailer $program: $!");
$? ||= $!;
return 0;
}
1;
}
1;
Mail-Transport-3.007/lib/Mail/Transport/Exim.pm 0000644 0001750 0000144 00000003040 15056000316 021772 0 ustar 00markov users 0000000 0000000 # Copyrights 2001-2025 by [Mark Overmeer].
# For other contributors see ChangeLog.
# See the manual pages for details on the licensing terms.
# Pod stripped from pm file by OODoc 2.02.
# This code is part of distribution Mail-Transport. Meta-POD processed with
# OODoc into POD and HTML manual-pages. See README.md
# Copyright Mark Overmeer. Licensed under the same terms as Perl itself.
package Mail::Transport::Exim;
use vars '$VERSION';
$VERSION = '3.007';
use base 'Mail::Transport::Send';
use strict;
use warnings;
use Carp;
sub init($)
{ my ($self, $args) = @_;
$args->{via} = 'exim';
$self->SUPER::init($args) or return;
$self->{MTS_program} = $args->{proxy}
|| ( -x '/usr/sbin/exim4' ? '/usr/sbin/exim4' : undef)
|| $self->findBinary('exim', '/usr/exim/bin')
|| return;
$self;
}
sub trySend($@)
{ my ($self, $message, %args) = @_;
my $from = $args{from} || $message->sender;
$from = $from->address if ref $from && $from->isa('Mail::Address');
my @to = map $_->address, $self->destinations($message, $args{to});
my $program = $self->{MTS_program};
my $mailer;
if(open($mailer, '|-')==0)
{ { exec $program, '-i', '-f', $from, @to; } # {} to avoid warning
$self->log(NOTICE => "Errors when opening pipe to $program: $!");
exit 1;
}
$self->putContent($message, $mailer, undisclosed => 1);
unless($mailer->close)
{ $self->log(ERROR => "Errors when closing Exim mailer $program: $!");
$? ||= $!;
return 0;
}
1;
}
1;
Mail-Transport-3.007/lib/Mail/Transport/Qmail.pm 0000644 0001750 0000144 00000002361 15056000316 022140 0 ustar 00markov users 0000000 0000000 # Copyrights 2001-2025 by [Mark Overmeer].
# For other contributors see ChangeLog.
# See the manual pages for details on the licensing terms.
# Pod stripped from pm file by OODoc 2.02.
# This code is part of distribution Mail-Transport. Meta-POD processed with
# OODoc into POD and HTML manual-pages. See README.md
# Copyright Mark Overmeer. Licensed under the same terms as Perl itself.
package Mail::Transport::Qmail;
use vars '$VERSION';
$VERSION = '3.007';
use base 'Mail::Transport::Send';
use strict;
use warnings;
use Carp;
sub init($)
{ my ($self, $args) = @_;
$args->{via} = 'qmail';
$self->SUPER::init($args) or return;
$self->{MTM_program} = $args->{proxy} || $self->findBinary('qmail-inject', '/var/qmail/bin') || return;
$self;
}
sub trySend($@)
{ my ($self, $message, %args) = @_;
my $program = $self->{MTM_program};
my $mailer;
if(open($mailer, '|-')==0)
{ { exec $program; }
$self->log(NOTICE => "Errors when opening pipe to $program: $!");
exit 1;
}
$self->putContent($message, $mailer, undisclosed => 1);
unless($mailer->close)
{ $self->log(ERROR => "Errors when closing Qmail mailer $program: $!");
$? ||= $!;
return 0;
}
1;
}
1;
Mail-Transport-3.007/lib/Mail/Transport/Send.pm 0000644 0001750 0000144 00000005111 15056000316 021762 0 ustar 00markov users 0000000 0000000 # Copyrights 2001-2025 by [Mark Overmeer].
# For other contributors see ChangeLog.
# See the manual pages for details on the licensing terms.
# Pod stripped from pm file by OODoc 2.02.
# This code is part of distribution Mail-Transport. Meta-POD processed with
# OODoc into POD and HTML manual-pages. See README.md
# Copyright Mark Overmeer. Licensed under the same terms as Perl itself.
package Mail::Transport::Send;
use vars '$VERSION';
$VERSION = '3.007';
use base 'Mail::Transport';
use strict;
use warnings;
use Carp;
use File::Spec;
use Errno 'EAGAIN';
sub new(@)
{ my $class = shift;
return $class->SUPER::new(@_)
if $class ne __PACKAGE__;
require Mail::Transport::Sendmail;
Mail::Transport::Sendmail->new(@_);
}
#------------------------------------------
sub send($@)
{ my ($self, $message, %args) = @_;
unless($message->isa('Mail::Message')) # avoid rebless.
{ $message = Mail::Message->coerce($message);
defined $message
or confess "Unable to coerce object into Mail::Message.";
}
$self->trySend($message, %args)
and return 1;
$?==EAGAIN
or return 0;
my ($interval, $retry) = $self->retry;
$interval = $args{interval} if exists $args{interval};
$retry = $args{retry} if exists $args{retry};
while($retry!=0)
{ sleep $interval;
return 1 if $self->trySend($message, %args);
$?==EAGAIN or return 0;
$retry--;
}
0;
}
sub trySend($@)
{ my $self = shift;
$self->log(ERROR => "Transporters of type ".ref($self). " cannot send.");
}
sub putContent($$@)
{ my ($self, $message, $fh, %args) = @_;
if($args{body_only}) { $message->body->print($fh) }
elsif($args{undisclosed}) { $message->Mail::Message::print($fh) }
else
{ $message->head->printUndisclosed($fh);
$message->body->print($fh);
}
$self;
}
sub destinations($;$)
{ my ($self, $message, $overrule) = @_;
my @to;
if(defined $overrule) # Destinations overruled by user.
{ @to = map { ref $_ && $_->isa('Mail::Address') ? ($_) : Mail::Address->parse($_) }
ref $overrule eq 'ARRAY' ? @$overrule : ($overrule);
}
elsif(my @rgs = $message->head->resentGroups)
{ # Create with bounce
@to = $rgs[0]->destinations;
@to or $self->log(WARNING => "Resent group does not specify a destination"), return ();
}
else
{ @to = $message->destinations;
@to or $self->log(WARNING => "Message has no destination"), return ();
}
@to;
}
#------------------------------------------
1;
Mail-Transport-3.007/lib/Mail/Transport/Exim.pod 0000644 0001750 0000144 00000014651 15056000317 022153 0 ustar 00markov users 0000000 0000000 =encoding utf8
=head1 NAME
Mail::Transport::Exim - transmit messages using external Exim program
=head1 INHERITANCE
Mail::Transport::Exim
is a Mail::Transport::Send
is a Mail::Transport
is a Mail::Reporter
=head1 SYNOPSIS
my $sender = Mail::Transport::Exim->new(...);
$sender->send($message);
=head1 DESCRIPTION
Implements mail transport using the external C<'Exim'> program.
When instantiated, the mailer will look for the binary in specific system
directories, and the first version found is taken.
Extends L<"DESCRIPTION" in Mail::Transport::Send|Mail::Transport::Send/"DESCRIPTION">.
=head1 METHODS
Extends L<"METHODS" in Mail::Transport::Send|Mail::Transport::Send/"METHODS">.
=head2 Constructors
Extends L<"Constructors" in Mail::Transport::Send|Mail::Transport::Send/"Constructors">.
=over 4
=item Mail::Transport::Exim-EB(%options)
If you have Exim installed in a non-standard location, you will need to
specify the path, using L.
-Option --Defined in --Default
executable Mail::Transport undef
hostname Mail::Transport 'localhost'
interval Mail::Transport 30
log Mail::Reporter 'WARNINGS'
password Mail::Transport undef
port Mail::Transport undef
proxy Mail::Transport undef
retry Mail::Transport
timeout Mail::Transport 120
trace Mail::Reporter 'WARNINGS'
username Mail::Transport undef
via Mail::Transport 'exim'
=over 2
=item executable => FILENAME
=item hostname => HOSTNAME|ARRAY
=item interval => SECONDS
=item log => LEVEL
=item password => STRING
=item port => INTEGER
=item proxy => PATH
=item retry => NUMBER|undef
=item timeout => SECONDS
=item trace => LEVEL
=item username => STRING
=item via => CLASS|NAME
=back
=back
=head2 Attributes
Extends L<"Attributes" in Mail::Transport::Send|Mail::Transport::Send/"Attributes">.
=over 4
=item $obj-EB()
Inherited, see L
=back
=head2 Sending mail
Extends L<"Sending mail" in Mail::Transport::Send|Mail::Transport::Send/"Sending mail">.
=over 4
=item $obj-EB( $message, [$address|ARRAY] )
Inherited, see L
=item $obj-EB($message, $fh, %options)
Inherited, see L
=item $obj-EB($message, %options)
Inherited, see L
=item $obj-EB($message, %options)
=back
=head2 Server connection
Extends L<"Server connection" in Mail::Transport::Send|Mail::Transport::Send/"Server connection">.
=over 4
=item $obj-EB( $name, [@directories] )
Inherited, see L
=item $obj-EB()
Inherited, see L
=item $obj-EB()
Inherited, see L
=back
=head2 Error handling
Extends L<"Error handling" in Mail::Transport::Send|Mail::Transport::Send/"Error handling">.
=over 4
=item $obj-EB()
Inherited, see L
=item $obj-EB($object)
Inherited, see L
=item $obj-EB( [$level]|[$loglevel, $tracelevel]|[$level, $callback] )
=item Mail::Transport::Exim-EB( [$level]|[$loglevel, $tracelevel]|[$level, $callback] )
Inherited, see L
=item $obj-EB()
Inherited, see L
=item $obj-EB( [$level, [$strings]] )
=item Mail::Transport::Exim-EB( [$level, [$strings]] )
Inherited, see L
=item $obj-EB($level)
=item Mail::Transport::Exim-EB($level)
Inherited, see L
=item $obj-EB()
Inherited, see L
=item $obj-EB( [$level] )
Inherited, see L
=item $obj-EB( [$level] )
Inherited, see L
=item $obj-EB( [$level] )
Inherited, see L
=item $obj-EB()
Inherited, see L
=back
=head2 Cleanup
Extends L<"Cleanup" in Mail::Transport::Send|Mail::Transport::Send/"Cleanup">.
=over 4
=item $obj-EB()
Inherited, see L
=back
=head2 Server connection
Extends L<"Server connection" in Mail::Transport::Send|Mail::Transport::Send/"Server connection">.
=head1 DIAGNOSTICS
=over 4
=item Error: Errors when closing Exim mailer $program: $!
The Exim mail transfer agent did start, but was not able to handle the message
correctly.
=item Warning: Message has no destination
It was not possible to figure-out where the message is intended to go to.
=item Error: Package $package does not implement $method.
Fatal error: the specific package (or one of its superclasses) does not
implement this method where it should. This message means that some other
related classes do implement this method however the class at hand does
not. Probably you should investigate this and probably inform the author
of the package.
=item Warning: Resent group does not specify a destination
The message which is sent is the result of a bounce (for instance
created with L), and therefore starts with a
C header field. With the C, the new destination(s)
of the message are given, which should be included as C,
C, and C.
The C, C, and C header information is only used if no
C was found. That seems to be the best explanation of the RFC.
As alternative, you may also specify the C option to some of the senders
(for instance L to overrule any information
found in the message itself about the destination.
=back
=head1 SEE ALSO
This module is part of Mail-Transport distribution version 3.007,
built on September 03, 2025. Website: F
=head1 LICENSE
Copyrights 2001-2025 by [Mark Overmeer]. For other contributors see ChangeLog.
This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
See F
Mail-Transport-3.007/lib/Mail/Transport/Receive.pod 0000644 0001750 0000144 00000011365 15056000317 022632 0 ustar 00markov users 0000000 0000000 =encoding utf8
=head1 NAME
Mail::Transport::Receive - receive messages
=head1 INHERITANCE
Mail::Transport::Receive
is a Mail::Transport
is a Mail::Reporter
Mail::Transport::Receive is extended by
Mail::Transport::IMAP4
Mail::Transport::POP3
=head1 SYNOPSIS
my $receiver = Mail::Transport::POP3->new(...);
my $message = $receiver->receive($id);
=head1 DESCRIPTION
Each object which extends L implement
a protocol which can get messages into your application. The internals
of each implementation can differ quite a lot, so have a look at each
separate manual page as well.
Current message receivers:
=over 4
=item * L
Implements the POP3 protocol. See also L.
=back
Extends L<"DESCRIPTION" in Mail::Transport|Mail::Transport/"DESCRIPTION">.
=head1 METHODS
Extends L<"METHODS" in Mail::Transport|Mail::Transport/"METHODS">.
=head2 Constructors
Extends L<"Constructors" in Mail::Transport|Mail::Transport/"Constructors">.
=over 4
=item Mail::Transport::Receive-EB(%options)
Inherited, see L
=back
=head2 Attributes
Extends L<"Attributes" in Mail::Transport|Mail::Transport/"Attributes">.
=over 4
=item $obj-EB()
Inherited, see L
=back
=head2 Receiving mail
=over 4
=item $obj-EB( [$unique_message_id] )
Receive one message from the remote server. Some receivers will provide
the next message automatically, other are random access and use the
specified ID.
=back
=head2 Server connection
=over 4
=item $obj-EB( $name, [@directories] )
Inherited, see L
=item $obj-EB()
Inherited, see L
=item $obj-EB()
Inherited, see L
=back
=head2 Error handling
Extends L<"Error handling" in Mail::Transport|Mail::Transport/"Error handling">.
=over 4
=item $obj-EB()
Inherited, see L
=item $obj-EB($object)
Inherited, see L
=item $obj-EB( [$level]|[$loglevel, $tracelevel]|[$level, $callback] )
=item Mail::Transport::Receive-EB( [$level]|[$loglevel, $tracelevel]|[$level, $callback] )
Inherited, see L
=item $obj-EB()
Inherited, see L
=item $obj-EB( [$level, [$strings]] )
=item Mail::Transport::Receive-EB( [$level, [$strings]] )
Inherited, see L
=item $obj-EB($level)
=item Mail::Transport::Receive-EB($level)
Inherited, see L
=item $obj-EB()
Inherited, see L
=item $obj-EB( [$level] )
Inherited, see L
=item $obj-EB( [$level] )
Inherited, see L
=item $obj-EB( [$level] )
Inherited, see L
=item $obj-EB()
Inherited, see L
=back
=head2 Cleanup
Extends L<"Cleanup" in Mail::Transport|Mail::Transport/"Cleanup">.
=over 4
=item $obj-EB()
Inherited, see L
=back
=head2 Server connection
Extends L<"Server connection" in Mail::Transport|Mail::Transport/"Server connection">.
=head1 DIAGNOSTICS
=over 4
=item Warning: Avoid program abuse: specify an absolute path for $exec.
Specifying explicit locations for executables of email transfer agents
should only be done with absolute file names, to avoid various pontential
security problems.
=item Warning: Executable $exec does not exist.
The explicitly indicated mail transfer agent does not exists. The normal
settings are used to find the correct location.
=item Error: Package $package does not implement $method.
Fatal error: the specific package (or one of its superclasses) does not
implement this method where it should. This message means that some other
related classes do implement this method however the class at hand does
not. Probably you should investigate this and probably inform the author
of the package.
=back
=head1 SEE ALSO
This module is part of Mail-Transport distribution version 3.007,
built on September 03, 2025. Website: F
=head1 LICENSE
Copyrights 2001-2025 by [Mark Overmeer]. For other contributors see ChangeLog.
This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
See F
Mail-Transport-3.007/lib/Mail/Transport/Sendmail.pod 0000644 0001750 0000144 00000016614 15056000317 023006 0 ustar 00markov users 0000000 0000000 =encoding utf8
=head1 NAME
Mail::Transport::Sendmail - transmit messages using external Sendmail program
=head1 INHERITANCE
Mail::Transport::Sendmail
is a Mail::Transport::Send
is a Mail::Transport
is a Mail::Reporter
=head1 SYNOPSIS
my $sender = Mail::Transport::Sendmail->new(...);
$sender->send($message);
=head1 DESCRIPTION
Implements mail transport using the external C<'Sendmail'> program.
When instantiated, the mailer will look for the binary in specific system
directories, and the first version found is taken.
Some people use Postfix as MTA. Postfix can be installed as replacement
for Sendmail: is provides a program with the same name and options. So,
this module supports postfix as well.
B When you do bulk email sending with local delivery via
Postfix, you can probably better use the SMTP backend to connect
to postfix. The C command delivers to C. From
C, the C will only sequentially insert messages
into C. That process can take considerable elapse time.
Directly inserting via C will parallellize the cleanup process.
Extends L<"DESCRIPTION" in Mail::Transport::Send|Mail::Transport::Send/"DESCRIPTION">.
=head1 METHODS
Extends L<"METHODS" in Mail::Transport::Send|Mail::Transport::Send/"METHODS">.
=head2 Constructors
Extends L<"Constructors" in Mail::Transport::Send|Mail::Transport::Send/"Constructors">.
=over 4
=item Mail::Transport::Sendmail-EB(%options)
-Option --Defined in --Default
executable Mail::Transport undef
hostname Mail::Transport 'localhost'
interval Mail::Transport 30
log Mail::Reporter 'WARNINGS'
password Mail::Transport undef
port Mail::Transport undef
proxy Mail::Transport undef
retry Mail::Transport
sendmail_options []
timeout Mail::Transport 120
trace Mail::Reporter 'WARNINGS'
username Mail::Transport undef
via Mail::Transport 'sendmail'
=over 2
=item executable => FILENAME
=item hostname => HOSTNAME|ARRAY
=item interval => SECONDS
=item log => LEVEL
=item password => STRING
=item port => INTEGER
=item proxy => PATH
=item retry => NUMBER|undef
=item sendmail_options => ARRAY
Add to the command-line of the started sendmail MTU a list of
separate words. So say C< [ '-f', $file ] > and not C< [ "-f $file" ] >,
because the latter will be taken by sendmail as one word only.
=item timeout => SECONDS
=item trace => LEVEL
=item username => STRING
=item via => CLASS|NAME
=back
=back
=head2 Attributes
Extends L<"Attributes" in Mail::Transport::Send|Mail::Transport::Send/"Attributes">.
=over 4
=item $obj-EB()
Inherited, see L
=back
=head2 Sending mail
Extends L<"Sending mail" in Mail::Transport::Send|Mail::Transport::Send/"Sending mail">.
=over 4
=item $obj-EB( $message, [$address|ARRAY] )
Inherited, see L
=item $obj-EB($message, $fh, %options)
Inherited, see L
=item $obj-EB($message, %options)
Inherited, see L
=item $obj-EB($message, %options)
-Option --Default
sendmail_options undef
=over 2
=item sendmail_options => ARRAY
=back
=back
=head2 Server connection
Extends L<"Server connection" in Mail::Transport::Send|Mail::Transport::Send/"Server connection">.
=over 4
=item $obj-EB( $name, [@directories] )
Inherited, see L
=item $obj-EB()
Inherited, see L
=item $obj-EB()
Inherited, see L
=back
=head2 Error handling
Extends L<"Error handling" in Mail::Transport::Send|Mail::Transport::Send/"Error handling">.
=over 4
=item $obj-EB()
Inherited, see L
=item $obj-EB($object)
Inherited, see L
=item $obj-EB( [$level]|[$loglevel, $tracelevel]|[$level, $callback] )
=item Mail::Transport::Sendmail-EB( [$level]|[$loglevel, $tracelevel]|[$level, $callback] )
Inherited, see L
=item $obj-EB()
Inherited, see L
=item $obj-EB( [$level, [$strings]] )
=item Mail::Transport::Sendmail-EB( [$level, [$strings]] )
Inherited, see L
=item $obj-EB($level)
=item Mail::Transport::Sendmail-EB($level)
Inherited, see L
=item $obj-EB()
Inherited, see L
=item $obj-EB( [$level] )
Inherited, see L
=item $obj-EB( [$level] )
Inherited, see L
=item $obj-EB( [$level] )
Inherited, see L
=item $obj-EB()
Inherited, see L
=back
=head2 Cleanup
Extends L<"Cleanup" in Mail::Transport::Send|Mail::Transport::Send/"Cleanup">.
=over 4
=item $obj-EB()
Inherited, see L
=back
=head2 Server connection
Extends L<"Server connection" in Mail::Transport::Send|Mail::Transport::Send/"Server connection">.
=head1 DIAGNOSTICS
=over 4
=item Error: Errors when closing sendmail mailer $program: $!
The was no problem starting the sendmail mail transfer agent, but for
some specific reason the message could not be handled correctly.
=item Warning: Message has no destination
It was not possible to figure-out where the message is intended to go to.
=item Error: Package $package does not implement $method.
Fatal error: the specific package (or one of its superclasses) does not
implement this method where it should. This message means that some other
related classes do implement this method however the class at hand does
not. Probably you should investigate this and probably inform the author
of the package.
=item Warning: Resent group does not specify a destination
The message which is sent is the result of a bounce (for instance
created with L), and therefore starts with a
C header field. With the C, the new destination(s)
of the message are given, which should be included as C,
C, and C.
The C, C, and C header information is only used if no
C was found. That seems to be the best explanation of the RFC.
As alternative, you may also specify the C option to some of the senders
(for instance L to overrule any information
found in the message itself about the destination.
=back
=head1 SEE ALSO
This module is part of Mail-Transport distribution version 3.007,
built on September 03, 2025. Website: F
=head1 LICENSE
Copyrights 2001-2025 by [Mark Overmeer]. For other contributors see ChangeLog.
This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
See F
Mail-Transport-3.007/lib/Mail/Transport/Receive.pm 0000644 0001750 0000144 00000001146 15056000316 022457 0 ustar 00markov users 0000000 0000000 # Copyrights 2001-2025 by [Mark Overmeer].
# For other contributors see ChangeLog.
# See the manual pages for details on the licensing terms.
# Pod stripped from pm file by OODoc 2.02.
# This code is part of distribution Mail-Transport. Meta-POD processed with
# OODoc into POD and HTML manual-pages. See README.md
# Copyright Mark Overmeer. Licensed under the same terms as Perl itself.
package Mail::Transport::Receive;
use vars '$VERSION';
$VERSION = '3.007';
use base 'Mail::Transport';
use strict;
use warnings;
sub receive(@) {shift->notImplemented}
#------------------------------------------
1;
Mail-Transport-3.007/lib/Mail/Transport/Qmail.pod 0000644 0001750 0000144 00000014365 15056000317 022316 0 ustar 00markov users 0000000 0000000 =encoding utf8
=head1 NAME
Mail::Transport::Qmail - transmit messages using external Qmail program
=head1 INHERITANCE
Mail::Transport::Qmail
is a Mail::Transport::Send
is a Mail::Transport
is a Mail::Reporter
=head1 SYNOPSIS
my $sender = Mail::Transport::Qmail->new(...);
$sender->send($message);
=head1 DESCRIPTION
Implements mail transport using the external programs C<'qmail-inject'>,
part of the qmail mail-delivery system.
Extends L<"DESCRIPTION" in Mail::Transport::Send|Mail::Transport::Send/"DESCRIPTION">.
=head1 METHODS
Extends L<"METHODS" in Mail::Transport::Send|Mail::Transport::Send/"METHODS">.
=head2 Constructors
Extends L<"Constructors" in Mail::Transport::Send|Mail::Transport::Send/"Constructors">.
=over 4
=item Mail::Transport::Qmail-EB(%options)
-Option --Defined in --Default
executable Mail::Transport undef
hostname Mail::Transport 'localhost'
interval Mail::Transport 30
log Mail::Reporter 'WARNINGS'
password Mail::Transport undef
port Mail::Transport undef
proxy Mail::Transport 'qmail-inject'
retry Mail::Transport
timeout Mail::Transport 120
trace Mail::Reporter 'WARNINGS'
username Mail::Transport undef
via Mail::Transport 'qmail'
=over 2
=item executable => FILENAME
=item hostname => HOSTNAME|ARRAY
=item interval => SECONDS
=item log => LEVEL
=item password => STRING
=item port => INTEGER
=item proxy => PATH
=item retry => NUMBER|undef
=item timeout => SECONDS
=item trace => LEVEL
=item username => STRING
=item via => CLASS|NAME
=back
=back
=head2 Attributes
Extends L<"Attributes" in Mail::Transport::Send|Mail::Transport::Send/"Attributes">.
=over 4
=item $obj-EB()
Inherited, see L
=back
=head2 Sending mail
Extends L<"Sending mail" in Mail::Transport::Send|Mail::Transport::Send/"Sending mail">.
=over 4
=item $obj-EB( $message, [$address|ARRAY] )
Inherited, see L
=item $obj-EB($message, $fh, %options)
Inherited, see L
=item $obj-EB($message, %options)
Inherited, see L
=item $obj-EB($message, %options)
=back
=head2 Server connection
Extends L<"Server connection" in Mail::Transport::Send|Mail::Transport::Send/"Server connection">.
=over 4
=item $obj-EB( $name, [@directories] )
Inherited, see L
=item $obj-EB()
Inherited, see L