Email::Sender - a library for sending email


version 1.300035


  my $message = Email::MIME->create( ... );
  # produce an Email::Abstract compatible message object,
  # e.g. produced by Email::Simple, Email::MIME, Email::Stuff

  use Email::Sender::Simple qw(sendmail);
  use Email::Sender::Transport::SMTP qw();
  use Try::Tiny;

  try {
        transport => Email::Sender::Transport::SMTP->new({
            host => $SMTP_HOSTNAME,
            port => $SMTP_PORT,
  } catch {
      warn "sending failed: $_";


Email::Sender replaces the old and sometimes problematic Email::Send library, which did a decent job at handling very simple email sending tasks, but was not suitable for serious use, for a variety of reasons.

Most users will be able to use Email::Sender::Simple to send mail. Users with more specific needs should look at the available Email::Sender::Transport classes.

Documentation may be found in Email::Sender::Manual, and new users should start with Email::Sender::Manual::QuickStart.


Email::Sender itself is a Moo role. Any class that implements Email::Sender is required to provide a method called send. This method should accept any input that can be understood by Email::Abstract, followed by a hashref containing to and from arguments to be used as the envelope. The method should return an Email::Sender::Success object on success or throw an Email::Sender::Failure on failure.


Ricardo Signes <>


  • Alex Efros <>

  • Aristotle Pagaltzis <>

  • Bernhard Graf <>

  • Christian Walde <>

  • David Golden <>

  • David Steinbrunner <>

  • Hans Dieter Pearcey <>

  • HIROSE Masaaki <>

  • James E Keenan <>

  • Justin Hunter <>

  • Karen Etheridge <>

  • Kenichi Ishigaki <>

  • kga <>

  • Kris Matthews <>

  • Stefan Hornburg (Racke) <>

  • William Blunn <>


This software is copyright (c) 2020 by Ricardo Signes.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.