%PDF- %PDF-
Direktori : /usr/share/perl5/vendor_perl/Email/Sender/ |
Current File : //usr/share/perl5/vendor_perl/Email/Sender/Failure.pm |
package Email::Sender::Failure; { $Email::Sender::Failure::VERSION = '0.120002'; } use Moose; extends 'Throwable::Error'; # ABSTRACT: a report of failure from an email sending transport has code => ( is => 'ro', ); has recipients => ( isa => 'ArrayRef', traits => [ 'Array' ], handles => { __recipients => 'elements' }, default => sub { [] }, writer => '_set_recipients', reader => '__get_recipients', ); sub recipients { my ($self) = @_; return $self->__recipients if wantarray; return $self->__recipients if ! defined wantarray; Carp::carp("recipients in scalar context is deprecated and WILL BE REMOVED"); return $self->__get_recipients; } sub BUILD { my ($self) = @_; confess("message must contain non-space characters") unless $self->message =~ /\S/; } __PACKAGE__->meta->make_immutable(inline_constructor => 0); no Moose; 1; __END__ =pod =head1 NAME Email::Sender::Failure - a report of failure from an email sending transport =head1 VERSION version 0.120002 =head1 ATTRIBUTES =head2 message This method returns the failure message, which should describe the failure. Failures stringify to this message. =head2 code This returns the numeric code of the failure, if any. This is mostly useful for network protocol transports like SMTP. This may be undefined. =head2 recipients This returns a list of addresses to which the email could not be sent. =head1 METHODS =head2 throw This method can be used to instantiate and throw an Email::Sender::Failure object at once. Email::Sender::Failure->throw(\%arg); Instead of a hashref of args, you can pass a single string argument which will be used as the C<message> of the new failure. =head1 SEE ALSO =over =item * L<Email::Sender::Permanent> =item * L<Email::Sender::Temporary> =item * L<Email::Sender::Multi> =back =head1 AUTHOR Ricardo Signes <rjbs@cpan.org> =head1 COPYRIGHT AND LICENSE This software is copyright (c) 2012 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. =cut