Mail::Transport - use Mail Transfer Agents (MTAs)
Mail::Transport
is a Mail::Reporter
Mail::Transport is extended by
Mail::Transport::Receive
Mail::Transport::Send
my $message = Mail::Message->new(...);
# Some extensions implement sending:
$message->send;
$message->send(via => 'sendmail');
my $sender = Mail::Transport::SMTP->new(...);
$sender->send($message);
# Some extensions implement receiving:
my $receiver = Mail::Transport::POP3->new(...);
$message = $receiver->receive;
Objects which extend
"Mail::Transport" implement sending and/or
receiving of messages, using various protocols.
Mail::Transport::Send extends this class, and offers general
functionality for send protocols, like SMTP. Mail::Transport::Receive also
extends this class, and offers receive method. Some transport protocols will
implement both sending and receiving.
Extends "DESCRIPTION" in Mail::Reporter.
Extends "METHODS" in Mail::Reporter.
Extends "Constructors" in Mail::Reporter.
- Mail::Transport->new(%options)
-
-Option --Defined in --Default
executable undef
hostname 'localhost'
interval 30
log Mail::Reporter 'WARNINGS'
password undef
port undef
proxy undef
retry <false>
timeout 120
trace Mail::Reporter 'WARNINGS'
username undef
via 'sendmail'
- executable =>
FILENAME
- If you specify an executable, the module does not need to search the
system directories to figure-out where the client lives. Using this
decreases the flexible usage of your program: moving your program to other
systems may involve changing the path to the executable, which otherwise
would work auto-detect and unmodified.
- hostname =>
HOSTNAME|ARRAY
- The host on which the server runs. Some protocols accept an ARRAY of
alternatives for this option.
- interval =>
SECONDS
- The time between tries to contact the remote server for sending or
receiving a message in SECONDS. This number must be larger than 0.
- log => LEVEL
- password =>
STRING
- Some protocols require a password to be given, usually in combination with
a password.
- port => INTEGER
- The port number behind which the service is hiding on the remote
server.
- proxy => PATH
- The name of the proxy software (the protocol handler). This must be the
name (preferable the absolute path) of your mail delivery software.
- retry =>
NUMBER|undef
- The number of retries before the sending will fail. If
"undef", the number of retries is
unlimited.
- timeout =>
SECONDS
- SECONDS till time-out while establishing the connection to a remote
server.
- trace => LEVEL
- username =>
STRING
- Some protocols require a user to login.
- via => CLASS|NAME
- Which CLASS (extending
"Mail::Transport") will transport the
data. Some predefined NAMEs avoid long class names:
"mail" and
"mailx" are handled by the
Mail::Transport::Mailx module,
"sendmail" and
"postfix" belong to
Mail::Transport::Sendmail, and "smtp" is
implemented in Mail::Transport::SMTP.
The "pop" or
"pop3" protocol implementation can be
found distribution Mail::Transport::POP3. For
"imap" or
"imap4", install
Mail::Transport::IMAP4.
- $obj->findBinary( $name, [@directories] )
- Look for a binary with the specified $name in the
directories which are defined to be safe. The list of standard directories
is followed by the optional @directories. The full
pathname is returned.
You may specify new(proxy), which specifies the absolute name
of the binary to be used.
- $obj->remoteHost()
- Returns the hostname, port number, username and password to be used to
establish the connection to the server for sending or receiving mail.
- $obj->retry()
- Returns the retry interval, retry count, and timeout for the
connection.
Extends "Error handling" in Mail::Reporter.
- $obj->AUTOLOAD()
- Inherited, see "Error handling" in Mail::Reporter
- $obj->addReport($object)
- Inherited, see "Error handling" in Mail::Reporter
- $obj->defaultTrace( [$level]|[$loglevel, $tracelevel]|[$level,
$callback] )
- Mail::Transport->defaultTrace(
[$level]|[$loglevel, $tracelevel]|[$level, $callback] )
- Inherited, see "Error handling" in Mail::Reporter
- $obj->errors()
- Inherited, see "Error handling" in Mail::Reporter
- $obj->log( [$level, [$strings]] )
- Mail::Transport->log(
[$level, [$strings]] )
- Inherited, see "Error handling" in Mail::Reporter
- $obj->logPriority($level)
- Mail::Transport->logPriority($level)
- Inherited, see "Error handling" in Mail::Reporter
- $obj->logSettings()
- Inherited, see "Error handling" in Mail::Reporter
- $obj->notImplemented()
- Inherited, see "Error handling" in Mail::Reporter
- $obj->report( [$level] )
- Inherited, see "Error handling" in Mail::Reporter
- $obj->reportAll( [$level] )
- Inherited, see "Error handling" in Mail::Reporter
- $obj->trace( [$level] )
- Inherited, see "Error handling" in Mail::Reporter
- $obj->warnings()
- Inherited, see "Error handling" in Mail::Reporter
Extends "Cleanup" in Mail::Reporter.
- $obj->DESTROY()
- Inherited, see "Cleanup" in Mail::Reporter
This module is part of Mail-Transport distribution version 3.005,
built on July 22, 2020. Website: http://perl.overmeer.net/CPAN/
Copyrights 2001-2020 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
http://dev.perl.org/licenses/