NAME

Email::Sender::Role::CommonSending - the common sending tasks most Email::Sender classes will need

VERSION

version 2.500

DESCRIPTION

Email::Sender::Role::CommonSending provides a number of features that should ease writing new classes that perform the Email::Sender role. Instead of writing a send method, implementors will need to write a smaller send_email method, which will be passed an Email::Abstract object and envelope containing from and to entries. The to entry will be guaranteed to be an array reference.

A success method will also be provided as a shortcut for calling:

Email::Sender::Success->new(...);

A few other minor details are handled by CommonSending; for more information, consult the source.

The methods documented here may be overridden to alter the behavior of the CommonSending role.

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.

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.

METHODS

prepare_email

This method is passed a scalar and is expected to return an Email::Abstract object. You probably shouldn't override it in most cases.

prepare_envelope

This method is passed a hashref and returns a new hashref that should be used as the envelope passed to the send_email method. This method is responsible for ensuring that the to entry is an array.

success

...
return $self->success;

This method returns a new Email::Sender::Success object. Arguments passed to this method are passed along to the Success's constructor. This is provided as a convenience for returning success from subclasses' send_email methods.

AUTHOR

Ricardo Signes <rjbs@semiotic.systems>

COPYRIGHT AND LICENSE

This software is copyright (c) 2021 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.