]> git.refcnt.org Git - lugs.git/blobdiff - lreminder/reminder.pl
make-ical: adapt to encoding fix
[lugs.git] / lreminder / reminder.pl
index eb9d79461e22a221c1d4de2e6fb4ffdfcb32a5e0..14ea60e811fdebc93890d44a919fbf7bff338303 100755 (executable)
@@ -1,5 +1,5 @@
 #!/usr/bin/perl
-
+#
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; either version 2 of the License, or
@@ -15,7 +15,7 @@
 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #
 # Author: Steven Schubiger <stsc@refcnt.org>
-# Last modified: Fri Jan  8 12:43:13 CET 2016
+# Last modified: Wed 09 Jun 2021 01:19:17 PM CEST
 
 use strict;
 use warnings;
@@ -25,7 +25,7 @@ use constant false => 0;
 
 use DateTime ();
 use DBI ();
-use Encode qw(encode);
+use Encode qw(decode encode);
 use File::Basename ();
 use File::Spec ();
 use FindBin qw($Bin);
@@ -37,7 +37,7 @@ use Text::Wrap::Smart::XS qw(fuzzy_wrap);
 use URI ();
 use WWW::Mechanize ();
 
-my $VERSION = '0.51';
+my $VERSION = '0.53';
 
 #-----------------------
 # Start of configuration
@@ -47,6 +47,7 @@ my $Config = {
     events_url => 'http://www.lugs.ch/lugs/termine/termine.txt',
     form_url   => 'http://lists.lugs.ch/reminder.cgi',
     mail_from  => 'reminder@lugs.ch',
+    mail_admin => 'stsc@refcnt.org',
     dbase_name => '<hidden>',
     dbase_user => '<hidden>',
     dbase_pass => '<hidden>',
@@ -113,7 +114,24 @@ sub fetch_and_write_events
         close($fh);
     }
     else {
-        warn "[${\scalar localtime}] ${\File::Basename::basename($0)} not entirely run, no http content\n";
+        my $script = File::Basename::basename($0);
+        warn "[${\scalar localtime}] $script not entirely run, no http content\n";
+        my $message = <<"MSG";
+hello,
+
+This is lreminder [<$Config->{mail_from}>].
+
+Could not run $script entirely, no http content.
+Please re-run manually with `$0 --run' today.
+
+thanks,
+MSG
+        sendmail(
+            From    => $Config->{mail_from},
+            To      => $Config->{mail_admin},
+            Subject => 'LUGS Reminder - warning: timeout',
+            Message => $message,
+        ) or die "Cannot send mail: $Mail::Sendmail::error";
         exit;
     }
 }
@@ -222,11 +240,13 @@ ${\info_string()}
 MSG
 
     if ($run) {
+       $title = decode('UTF-8', $title);
         sendmail(
-            From    => $Config->{mail_from},
-            To      => $mail_subscriber,
-            Subject => encode('MIME-Q', "LUGS Reminder - $title"),
-            Message => $message,
+            From          => $Config->{mail_from},
+            To            => $mail_subscriber,
+            Subject       => encode('MIME-Q', "LUGS Reminder - $title"),
+            Message       => $message,
+           'Content-Type' => 'text/plain; charset="UTF-8"',
         ) or die "Cannot send mail: $Mail::Sendmail::error";
     }
     elsif ($test) {