Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (Debian-5.0)
Apropos / Subsearch:
optional field

Mail::Transport::SMTP(User Contributed Perl DocumentMail::Transport::SMTP(3pm)

       Mail::Transport::SMTP - transmit messages without external program

          is a Mail::Transport::Send
          is a Mail::Transport
          is a Mail::Reporter

        my $sender = Mail::Transport::SMTP->new(...);

        $message->send(via => 'smtp');

       This module implements transport of "Mail::Message" objects by
       negotiating to the destination host directly by using the SMTP
       protocol, without help of "sendmail", "mail", or other programs on the
       local host.



        Option    --Defined in     --Default
        executable  Mail::Transport  undef
        helo                         <from Net::Config>
        hostname    Mail::Transport  <from Net::Config>
        interval    Mail::Transport  30
        log         Mail::Reporter   'WARNINGS'
        password                     undef
        port        Mail::Transport  25
        proxy       Mail::Transport  <from Net::Config>
        retry       Mail::Transport  <false>
        smtp_debug                   <false>
        timeout                      120
        trace       Mail::Reporter   'WARNINGS'
        username                     undef
        via         Mail::Transport  'smtp'

           . executable => FILENAME

           . helo => HOST

               The fully qualified name of the sender's host (your system)
               which is used for the greeting message to the receiver.  If not
               specified, Net::Config or else Net::Domain are questioned to
               find it.  When even these do not supply a valid name, the name
               of the domain in the "From" line of the message is assumed.

           . hostname => HOSTNAME|ARRAY-OF-HOSTNAMES

           . interval => SECONDS

           . log => LEVEL

           . password => STRING

               The password to be used with the new(username) to log in to the
               remote server.

           . port => INTEGER

           . proxy => PATH

           . retry => NUMBER|undef

           . smtp_debug => BOOLEAN

               Simulate transmission: the SMTP protocol output will be sent to
               your screen.

           . timeout => SECONDS

               The number of seconds to wait for a valid response from the
               server before failing.

           . trace => LEVEL

           . username => STRING

               Use SASL authentication to contact the remote SMTP server
               (RFC2554).  This username in combination with new(password) is
               passed as arguments to Net::SMTP method auth.  Other forms of
               authentication are not supported by Net::SMTP.  The "username"
               can also be specified as an Authen::SASL object.

           . via => CLASS|NAME

       Sending mail

       $obj->destinations(MESSAGE, [ADDRESS|ARRAY-OF-ADDRESSES])

           See "Sending mail" in Mail::Transport::Send

       $obj->putContent(MESSAGE, FILEHANDLE, OPTIONS)

           See "Sending mail" in Mail::Transport::Send

       $obj->send(MESSAGE, OPTIONS)

           See "Sending mail" in Mail::Transport::Send

       $obj->trySend(MESSAGE, OPTIONS)

           Try to send the MESSAGE once.   This may fail, in which case this
           method will return "false".  In list context, the reason for
           failure can be caught: in list context "trySend" will return a list
           of five values:

            (success, error code, error text, error location, quit success)

           Success and quit success are booleans.  The error code and -text
           are protocol specific codes and texts.  The location tells where
           the problem occurred.

            from    < >
            to      []

           . from => ADDRESS

               Your own identification.  This may be fake.  If not specified,
               it is taken from Mail::Message::sender(), which means the
               content of the "Sender" field of the message or the first
               address of the "From" field.  This defaults to "< >", which
               represents "no address".

           . to => ADDRESS|[ADDRESSES]

               Alternative destinations.  If not specified, the "To", "Cc" and
               "Bcc" fields of the header are used.  An address is a string or
               a Mail::Address object.

       Server connection


           Creates the connection to the SMTP server.  When more than one
           hostname was specified, the first which accepts a connection is
           taken.  An IO::Socket::INET object is returned.

       $obj->findBinary(NAME [, DIRECTORIES])

           See "Server connection" in Mail::Transport


           See "Server connection" in Mail::Transport


           See "Server connection" in Mail::Transport

       $obj->tryConnectTo(HOST, OPTIONS)

           Try to establish a connection to deliver SMTP to the specified
           HOST.  The OPTIONS are passed to the "new" method of Net::SMTP.

       Error handling


           See "Error handling" in Mail::Reporter


           See "Error handling" in Mail::Reporter

       $obj->defaultTrace([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])


           See "Error handling" in Mail::Reporter


           See "Error handling" in Mail::Reporter

       $obj->log([LEVEL [,STRINGS]])

       Mail::Transport::SMTP->log([LEVEL [,STRINGS]])

           See "Error handling" in Mail::Reporter



           See "Error handling" in Mail::Reporter


           See "Error handling" in Mail::Reporter


           See "Error handling" in Mail::Reporter


           See "Error handling" in Mail::Reporter


           See "Error handling" in Mail::Reporter


           See "Error handling" in Mail::Reporter


           See "Error handling" in Mail::Reporter



           See "Cleanup" in Mail::Reporter


           See "Cleanup" in Mail::Reporter

       Warning: Message has no destination

           It was not possible to figure-out where the message is intended to
           go to.

       Notice: No addresses found to send the message to, no connection made

       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.

       Warning: Resent group does not specify a destination

           The message which is sent is the result of a bounce (for instance
           created with Mail::Message::bounce()), and therefore starts with a
           "Received" header field.  With the "bounce", the new destination(s)
           of the message are given, which should be included as "Resent-To",
           "Resent-Cc", and "Resent-Bcc".

           The "To", "Cc", and "Bcc" header information is only used if no
           "Received" was found.  That seems to be the best explanation of the

           As alternative, you may also specify the "to" option to some of the
           senders (for instance Mail::Transport::SMTP::send(to) to overrule
           any information found in the message itself about the destination.

       This module is part of Mail-Box distribution version 2.082, built on
       April 28, 2008. Website: http://perl.overmeer.net/mailbox/

       Copyrights 2001-2008 by Mark Overmeer. For other contributors see

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

perl v5.10.0                      2008-04-28        Mail::Transport::SMTP(3pm)