mirror of
https://gitlab.com/t6353/sharee.bike.git
synced 2025-05-10 22:16:26 +02:00
MailTransport refactoring
This commit is contained in:
parent
7a54a35b00
commit
9082b161de
5 changed files with 44 additions and 239 deletions
|
@ -1,133 +0,0 @@
|
|||
#!/usr/bin/perl -w
|
||||
|
||||
#2021-03-17
|
||||
#redisgn because of BEGIN, use Net::SMTP; and executed in src/scripts
|
||||
#
|
||||
#sudo su www-data -c "./src/scripts/newsletter_post.pl 'shareedms-primary' 'send_cardexpire'"
|
||||
#
|
||||
#TODO, migrate it all to MailTransport.pm
|
||||
#
|
||||
#
|
||||
use vars qw($syshost);
|
||||
|
||||
BEGIN {
|
||||
$syshost = $ARGV[0] || exit 1;
|
||||
}
|
||||
use lib "/var/www/copri-bike/$syshost/src";
|
||||
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
use utf8;
|
||||
use Encode;
|
||||
use CGI ':standard';
|
||||
use DBI;
|
||||
use POSIX;
|
||||
use Email::MIME;
|
||||
use IO::All;
|
||||
use Email::MIME::CreateHTML;
|
||||
use Email::Sender::Simple qw(sendmail);
|
||||
use Net::SMTP;
|
||||
use Try::Tiny;
|
||||
use URI::Encode;
|
||||
my $uri_encode = URI::Encode->new( { encode_reserved => 1 } );
|
||||
use Data::Dumper;
|
||||
|
||||
use Sys::Hostname;
|
||||
my $hostname = hostname;
|
||||
|
||||
use Lib::Config;
|
||||
my $q = new CGI;
|
||||
my $cf = new Config;
|
||||
my %varenv = $cf->envonline("","$syshost");
|
||||
|
||||
my $today = strftime("%d.%m.%Y %H:%M:%S",localtime(time));
|
||||
my $todo = $ARGV[1];
|
||||
|
||||
open(EMA, ">> $varenv{logdir}/newsletter_post.log");
|
||||
print EMA "\n$today, start mailing\n";
|
||||
print EMA "'$todo\n";
|
||||
|
||||
my $smtp_return = "";
|
||||
if($todo eq "send_cardexpire"){
|
||||
my ($mail_to,$subject,$body,$signature) = send_cardexpire(\%varenv);
|
||||
$smtp_return = transport(\%varenv,$mail_to,$subject,$body,$signature);
|
||||
}
|
||||
|
||||
#----------------------------------------------------
|
||||
sub send_cardexpire {
|
||||
my $varenv = shift;
|
||||
|
||||
my $mail_to = "ragu\@gnu-systems.de";
|
||||
my $name = "test";
|
||||
|
||||
my $subject = "Fahrradmietsystem Konstanz";
|
||||
my $body = <<EOF
|
||||
Guten Tag $name,
|
||||
|
||||
wir mussten Ihren Fahrradmietsystem Account sperren weil der letzte Mietbetrag nicht eingezogen werden konnte.
|
||||
Sie können Ihren Account selbst wieder freischalten, indem Sie die Zahlungsdaten erneuern. Dies kann aus Sicherheitsgründen von Seiten Ihrer Bank nötig sein oder es gab einen Fehler in Ihren Eingaben.
|
||||
|
||||
Nach der Anmeldung im Fahrradmietsystem Konstanz ( <a href='https://www.stadtwerke-konstanz.de/mobilitaet/rad-mietsystem?konrad_goto=Anmelden'>https://www.stadtwerke-konstanz.de/mobilitaet/rad-mietsystem</a> ) haben Sie die Möglichkeit Ihre Daten zu überprüfen und ggf. zu erneuern.
|
||||
Kontaktieren Sie uns bitte falls Ihr Account für den Verleih nicht automatisch freigeschaltet wurde.
|
||||
|
||||
Für weitere Fragen wenden Sie sich bitte an unsere Buchhaltung unter: buchhaltung\@fahrradspezialitaeten.com oder telefonisch 0761/5158912 (Mo, Mi, Fr 9-12 Uhr)
|
||||
|
||||
EOF
|
||||
;
|
||||
$body =~ s/\n/\<br \/>/g;
|
||||
|
||||
my $signature = "";
|
||||
|
||||
return ($mail_to,$subject,$body,$signature);
|
||||
}
|
||||
#---------------------------------------------------
|
||||
#
|
||||
sub transport {
|
||||
my $varenv = shift;
|
||||
my $mail_to = shift;
|
||||
my $subject = shift;
|
||||
my $body = shift;
|
||||
my $signature = shift;
|
||||
|
||||
my $html = "<html><head><title>$subject</title></head><body style='text-align:left;border:0px solid silver;padding:15px;margin:2%;width:90%;'>\n";
|
||||
$html .= "<div>$body</div>\n";
|
||||
$html .= "<div>$signature</div>\n";
|
||||
$html .= "</body></html>";
|
||||
|
||||
my $smtp = Net::SMTP->new($varenv->{mail_gateway},
|
||||
Port => 465,
|
||||
Hello => 'TeilRad',
|
||||
Timeout => 30,
|
||||
Debug => 0,
|
||||
SSL => 1,
|
||||
);
|
||||
$smtp->auth($varenv->{sasl_username},$varenv->{sasl_password});
|
||||
$smtp->mail($varenv->{mail_from});
|
||||
|
||||
if($hostname ne "ginger"){
|
||||
$mail_to = $varenv->{mail_testto};
|
||||
$subject .= "* offline Test *";
|
||||
}
|
||||
|
||||
if ($smtp->to($mail_to)) {
|
||||
$smtp->data();
|
||||
$smtp->datasend("To: $mail_to\n");
|
||||
$smtp->datasend("Subject: $subject\nMIME-Version: 1.0\nContent-Type: text/html; charset=UTF-8 \n\n");
|
||||
$smtp->datasend($html);
|
||||
$smtp->dataend();
|
||||
print EMA "$?\n";
|
||||
} else {
|
||||
print EMA $smtp->message();
|
||||
}
|
||||
|
||||
sleep 1;
|
||||
return $?;
|
||||
}
|
||||
#----------------------------------------------------
|
||||
|
||||
print EMA "done mailing: $?\n";
|
||||
print EMA "\n\n";
|
||||
close EMA;
|
||||
|
||||
1;
|
Loading…
Add table
Add a link
Reference in a new issue