aboutsummaryrefslogtreecommitdiff
path: root/lib/Sietima/Role/ManualSubscription.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Sietima/Role/ManualSubscription.pm')
-rw-r--r--lib/Sietima/Role/ManualSubscription.pm17
1 files changed, 9 insertions, 8 deletions
diff --git a/lib/Sietima/Role/ManualSubscription.pm b/lib/Sietima/Role/ManualSubscription.pm
index fd75f80..c2711f0 100644
--- a/lib/Sietima/Role/ManualSubscription.pm
+++ b/lib/Sietima/Role/ManualSubscription.pm
@@ -1,7 +1,7 @@
package Sietima::Role::ManualSubscription;
use Moo::Role;
use Sietima::Policy;
-use URI;
+use Sietima::HeaderURI;
use namespace::clean;
# VERSION
@@ -36,16 +36,17 @@ L<owner|Sietima::Role::WithOwner/owner>, with different subjects.
around list_addresses => sub($orig,$self) {
my $list_name = $self->name // 'the list';
- my $mail_owner_uri = URI->new($self->owner,'mailto');
- my $sub_uri = $mail_owner_uri->clone;
- $sub_uri->query_form(subject => "Please add me to $list_name");
- my $unsub_uri = $mail_owner_uri->clone;
- $unsub_uri->query_form(subject => "Please remove me from $list_name");
return +{
$self->$orig->%*,
- subscribe => $sub_uri,
- unsubscribe => $unsub_uri,
+ subscribe => Sietima::HeaderURI->new_from_address(
+ $self->owner,
+ { subject => "Please add me to $list_name" },
+ ),
+ unsubscribe => Sietima::HeaderURI->new_from_address(
+ $self->owner,
+ { subject => "Please remove me from $list_name" },
+ ),
};
};