logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Mail::MboxParser::Mail::Convertable - convert mail for sending etc.

Description

       This class adds means to convert an email object into something that could be send via SMTP, NNTP or
       dumped to a file or filehandle. Therefore, methods are provided that change the structure of an email
       which includes adding and removing of header-fields, MIME-parts etc and transforming them into objects of
       related modules.

       Currently, only basic manipulation of the header and sending using Mail::Mailer is provided. More is to
       come soon.

       This class works non-destructive. You first create a Convertable-object and do any modifications on this
       while the Mail-object from which it was derived will not be touched.

Methods

       delete_from_header(header-fields)
           Given  a list of header-field names, these fields will be removed from the header. If you want to re-
           send a message, you could for instance remove the cc-field  cause  otherwise  the  message  would  be
           carbon-copied to the addresses listed in the cc-field.

       add_to_header(array-ref)
       add_to_header(array-ref, where => 'BEFORE' | 'BEHIND')
           add_to_header()  takes  a  reference  to a two-element list whose first element specifies the header-
           field to add or to add to while the second elements specifies the data that should be added.  'where'
           specifies  whether  to  add at the beginning or at the end of the header. Defaults to 'BEHIND' if not
           given.

       replace_in_header(header-field, new_data)
           First element must be the header-field to be replaced while the second  argument  must  be  a  string
           indicating what will be the new content of the header-field.

       send(command, args)
           Literally  inherited  from  Mail::Internet.  Commands  can  be  "mail" (using the UNIX-mail program),
           "sendmail" (using a configured sendmail or compatible MTA like exim), "smtp"  (for  using  Net::SMTP)
           and  "test"  which will only display what would be sent using /bin/echo. Additional arguments will be
           passed on to Mail::Mailer->new() which is in fact what Mail::Internet->send() uses.

           For more details, see Mail::Mailer

Name

       Mail::MboxParser::Mail::Convertable - convert mail for sending etc.

See Also

       Mail::Internet, Mail::Mailer

perl v5.34.0                                       2022-06-15                 MboxParser::Mail::Convertable(3pm)

Synopsis

           use Mail::MboxParser;

           [...]

           # $msg is a Mail::MboxParser::Mail-object
           my $mail = $msg->make_convertable;

           $mail->delete_from_header('date', 'message-id');
           $mail->replace_in_header('to', 'john.doe@foobar.com');
           $mail->add_to_header( ['cc', 'john.does.brother@foobar.com'],
                                 where => 'BEHIND' );
           $mail->send('sendmail');

Version

       This is version 0.55.

See Also