diff options
Diffstat (limited to 'lib/Travelynx/Helper/Sendmail.pm')
-rw-r--r-- | lib/Travelynx/Helper/Sendmail.pm | 52 |
1 files changed, 43 insertions, 9 deletions
diff --git a/lib/Travelynx/Helper/Sendmail.pm b/lib/Travelynx/Helper/Sendmail.pm index fa3c4fd..baa1156 100644 --- a/lib/Travelynx/Helper/Sendmail.pm +++ b/lib/Travelynx/Helper/Sendmail.pm @@ -1,5 +1,9 @@ package Travelynx::Helper::Sendmail; +# Copyright (C) 2020-2023 Birte Kristina Friesel +# +# SPDX-License-Identifier: AGPL-3.0-or-later + use strict; use warnings; @@ -7,7 +11,7 @@ use 5.020; use Encode qw(encode); use Email::Sender::Simple qw(try_to_sendmail); -use Email::Simple; +use MIME::Entity; sub new { my ( $class, %opt ) = @_; @@ -18,14 +22,14 @@ sub new { sub custom { my ( $self, $to, $subject, $body ) = @_; - my $reg_mail = Email::Simple->create( - header => [ - To => $to, - From => 'Travelynx <travelynx@finalrewind.org>', - Subject => $subject, - 'Content-Type' => 'text/plain; charset=UTF-8', - ], - body => encode( 'utf-8', $body ), + my $reg_mail = MIME::Entity->build( + To => $to, + From => $self->{config}{from}, + Subject => encode( 'MIME-Header', $subject ), + Type => 'text/plain', + Charset => 'UTF-8', + Encoding => 'quoted-printable', + Data => encode( 'utf-8', $body ), ); if ( $self->{config}->{disabled} ) { @@ -38,4 +42,34 @@ sub custom { return try_to_sendmail($reg_mail); } +sub age_deletion_notification { + my ( $self, %opt ) = @_; + my $name = $opt{name}; + my $email = $opt{email}; + my $last_seen = $opt{last_seen}; + my $login_url = $opt{login_url}; + my $account_url = $opt{account_url}; + my $imprint_url = $opt{imprint_url}; + + my $body = "Hallo ${name},\n\n"; + $body + .= "Dein travelynx-Account wurde seit dem ${last_seen} nicht verwendet.\n"; + $body + .= "Im Sinne der Datensparsamkeit wird er daher in vier Wochen gelöscht.\n"; + $body + .= "Falls du den Account weiterverwenden möchtest, kannst du dich unter\n"; + $body .= "<$login_url> anmelden.\n"; + $body + .= "Durch die Anmeldung wird die Löschung automatisch abgebrochen.\n\n"; + $body + .= "Falls du den Account löschen, aber zuvor deine Daten exportieren möchtest,\n"; + $body .= "kannst du dich unter obiger URL anmelden, unter <$account_url>\n"; + $body + .= "deine Daten exportieren und anschließend den Account löschen lassen.\n\n\n"; + $body .= "Impressum: ${imprint_url}\n"; + + return $self->custom( $email, + 'travelynx: Löschung deines Accounts', $body ); +} + 1; |