my $message = Mail::Message->new(...); # Some extensions implement sending: $message->send; $message->send(via => 'sendmail'); my $sender = Mail::Transport::SMTP->new(...); $sender->send($message);
See SYNOPSIS in Mail::Transport
Send a message to the destinations as specified in the header. The
Mail::Transport::Send module is capable of autodetecting which of the
following modules work on your system; you may simply call
via options to get a message transported.
Use sendmail to process and deliver the mail. This requires the
sendmail program to be installed on your system. Whether this
is an original sendmail, or a replacement from Postfix does matter.
exim to distribute the message.
qmail-inject to distribute the message.
In this case, Perl is handling mail transport on its own. This is less desired but more portable than sending with sendmail or qmail. The advantage is that this sender is environment independent, and easier to configure. However, there is no daemon involved which means that your program will wait until the message is delivered, and the message is lost when your program is interrupted during delivery (which may take hours to complete).
Use the external
See DESCRIPTION in Mail::Transport