Email::Sender(3)

πŸ’Œ Email::Sender πŸ’Œ

okay bestie, so this is Email::Sender β€” the Perl library for sending email ✨ (that's the manual page Email::Sender(3), we're literally in it)

πŸŽ€ VERSION πŸŽ€

version 2.601 β€” she's current, she's fresh πŸ’…

✨ SYNOPSIS ✨

like, here's the whole vibe of using her:

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 {
  sendmail(
    $message,
    {
      from => $SMTP_ENVELOPE_FROM_ADDRESS,
      transport => Email::Sender::Transport::SMTP->new({
          host => $SMTP_HOSTNAME,
          port => $SMTP_PORT,
      })
    }
  );
} catch {
    warn "sending failed: $_";
};

no cap, that's the whole thing 🫢

🌸 OVERVIEW 🌸

so Email::Sender replaces the old and sometimes problematic Email::Send library. ngl, Email::Send did a decent job at handling very simple email sending tasks, but it was not suitable for serious use, for a variety of reasons. it's giving legacy era πŸ’€

most users will be able to use Email::Sender::Simple to send mail β€” that's the main character, honestly πŸ‘‘. users with more specific needs should look at the available Email::Sender::Transport classes.

docs live in Email::Sender::Manual, and if you're new new, start with Email::Sender::Manual::QuickStart. that's the beginner-friendly lore fr fr πŸ¦‹


🧚 PERL VERSION 🧚

this library should run on perls released even a long time ago. it should work on any version of perl released in the last five years. iconic longevity behavior πŸ’–

although it may work on older versions of perl, no guarantee is made that the minimum required version will not be increased. the version may be increased for any reason, and there is no promise that patches will be accepted to lower the minimum required perl. so like… don't count on it, bestie πŸ™ˆ

πŸ’… IMPLEMENTING πŸ’…

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. that's the contract, slay ✨

πŸ’œ AUTHOR πŸ’œ

Ricardo Signes <cpan@semiotic.systems>

🌈 CONTRIBUTORS 🌈

so many icons contributed to this, a whole squad 🫢

  • Alex Efros <powerman@powerman.name>
  • Aristotle Pagaltzis <pagaltzis@gmx.de>
  • Bernhard Graf <augensalat@gmail.com>
  • Christian Walde <walde.christian@googlemail.com>
  • David Golden <dagolden@cpan.org>
  • David Steinbrunner <dsteinbrunner@pobox.com>
  • Erik Huelsmann <ehuels@gmail.com>
  • Hans Dieter Pearcey <hdp@cpan.org>
  • HIROSE Masaaki <hirose31@gmail.com>
  • James E Keenan <jkeenan@cpan.org>
  • Justin Hunter <justin.d.hunter@gmail.com>
  • Karen Etheridge <ether@cpan.org>
  • Kenichi Ishigaki <ishigaki@cpan.org>
  • kga <watrty@gmail.com>
  • Kris Matthews <kris@tigerlms.com>
  • Marc Bradshaw <marc@marcbradshaw.net>
  • Ricardo Signes <rjbs@semiotic.systems>
  • Ricardo Signes <rjbs@users.noreply.github.com>
  • Stefan Hornburg (Racke) <racke@linuxia.de>
  • William Blunn <zgpmax@cpan.org>

this software is copyright (c) 2024 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. free as in do-what-you-want-with-it, periodt πŸ’–


okay that's the whole page!! go send some mail bestie, you got this πŸ’…βœ¨ mwah πŸ’‹ β€” this was perl v5.42.0, dated 2024-01-18, and the manual page is Email::Sender(3) πŸŽ€πŸ¦‹πŸŒΈ

πŸ“¦ where this page comes from