The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Sietima::Role::ReplyTo - munge the Reply-To header

VERSION

version 1.0.0

SYNOPSIS

  my $sietima = Sietima->with_traits('ReplyTo')->new({
    %args,
    return_path => 'list-bounce@example.com',
    munge_reply_to => 1,
    post_address => 'list@example.com',
    subscribers => [
      { primary => 'special@example.com', prefs => { munge_reply_to => 0 } },
      @other_subscribers,
    ],
  });

DESCRIPTION

A Sietima list with this role applied will, on request, set the Reply-To: header to the value of the post_address attribute.

This behaviour can be selected both at the list level (with the "munge_reply_to" attribute) and at the subscriber level (with the munge_reply_to preference). By default, the Reply-To: header is not touched.

This is a "sub-role" of WithPostAddress.

ATTRIBUTES

munge_reply_to

Optional boolean, defaults to false. If set to a true value, all messages will have their Reply-To: header set to the value of the "post_address" attribute. This setting can be overridden by individual subscribers with the munge_reply_to preference.

MODIFIED METHODS

munge_mail

For each message returned by the original method, this method partitions the subscribers, who are recipients of the message, according to their munge_reply_to preference (or the "munge_reply_to" attribute, if a subscriber does not have the preference set).

If no recipients want the Reply-To: header modified, this method will just pass the message through.

If all recipients want the Reply-To: header modified, this method will set the header, and pass the modified message.

If some recipients want the Reply-To: header modified, and some don't, this method will clone the message, modify the header in one copy, set the appropriate part of the recipients to each copy, and pass both through.

AUTHOR

Gianni Ceccarelli <dakkar@thenautilus.net>

COPYRIGHT AND LICENSE

This software is copyright (c) 2017 by Gianni Ceccarelli <dakkar@thenautilus.net>.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.