# Copyrights 2001-2022 by [Mark Overmeer ]. # For other contributors see ChangeLog. # See the manual pages for details on the licensing terms. # Pod stripped from pm file by OODoc 2.03. # This code is part of distribution Mail-Message. Meta-POD processed with # OODoc into POD and HTML manual-pages. See README.md # Copyright Mark Overmeer. Licensed under the same terms as Perl itself. package Mail::Message; use vars '$VERSION'; $VERSION = '3.012'; use strict; use warnings; use Mail::Message::Head::Complete; use Mail::Message::Field; use Carp qw/croak/; sub bounce(@) { my $self = shift; my $bounce = $self->clone; my $head = $bounce->head; if(@_==1 && ref $_[0] && $_[0]->isa('Mail::Message::Head::ResentGroup' )) { $head->addResentGroup(shift); return $bounce; } my @rgs = $head->resentGroups; my $rg = $rgs[0]; if(defined $rg) { $rg->delete; # Remove group to re-add it later: otherwise while(@_) # field order in header would be disturbed. { my $field = shift; ref $field ? $rg->set($field) : $rg->set($field, shift); } } elsif(@_) { $rg = Mail::Message::Head::ResentGroup->new(@_); } else { $self->log(ERROR => "Method bounce requires To, Cc, or Bcc"); return undef; } # # Add some nice extra fields. # $rg->set(Date => Mail::Message::Field->toDate) unless defined $rg->date; unless(defined $rg->messageId) { my $msgid = $head->createMessageId; $rg->set('Message-ID' => "<$msgid>"); } $head->addResentGroup($rg); # # Flag action to original message # $self->label(passed => 1); # used by some maildir clients $bounce; } 1;