Change mail address.
[usenet/yapfaq.git] / yapfaq.pl
old mode 100644 (file)
new mode 100755 (executable)
index c7d428d..d4114d4
--- a/yapfaq.pl
+++ b/yapfaq.pl
@@ -7,7 +7,7 @@
 # will use it in combination with cron(8).
 # 
 # Copyright (C) 2003 Marc Brockschmidt <marc@marcbrockschmidt.de>
-# Copyright (c) 2010-2017 Thomas Hochstein <thh@inter.net>
+# Copyright (c) 2010-2017 Thomas Hochstein <thh@thh.name>
 #
 # It can be redistributed and/or modified under the same terms under 
 # which Perl itself is published.
@@ -45,7 +45,7 @@ my %Options;
 getopts('Vhvpdt:f:c:s:', \%Options);
 # -V: print version / copyright information
 if ($Options{'V'}) {
-  print "$0 v $VERSION\nCopyright (c) 2003 Marc Brockschmidt <marc\@marcbrockschmidt.de>\nCopyright (c) 2010-2017 Thomas Hochstein <thh\@inter.net>\n";
+  print "$0 v $VERSION\nCopyright (c) 2003 Marc Brockschmidt <marc\@marcbrockschmidt.de>\nCopyright (c) 2010-2017 Thomas Hochstein <thh\@thh.name>\n";
   print "This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself.\n";
   exit(0);
 }
@@ -82,7 +82,7 @@ foreach (@Config) {
   
   my ($ActName,$File,$PFreq,$Expire) =($$_{'name'},$$_{'file'},$$_{'posting-frequency'},$$_{'expires'});
   my ($From,$Subject,$NG,$Fup2)=($$_{'from'},$$_{'subject'},$$_{'ngs'},$$_{'fup2'});
-  my ($MIDF,$ReplyTo,$ExtHea)=($$_{'mid-format'},$$_{'reply-to'},$$_{'extraheader'});
+  my ($MIDF,$ReplyTo,$Charset,$ExtHea)=($$_{'mid-format'},$$_{'reply-to'},$$_{'charset'},$$_{'extraheader'});
   my ($Supersede)            =($$_{'supersede'});
 
   # -f: loop if not FAQ to post
@@ -111,7 +111,7 @@ foreach (@Config) {
     if($Options{'d'}) {
          print "$ActName: Would be posted now (but running in simulation mode [$0 -d]).\n" if $Options{'v'};
        } else {
-      postfaq(\$ActName,\$File,\$From,\$Subject,\$NG,\$Fup2,\$MIDF,\$ExtHea,\$Config{'Sender'},\$TDY,\$TDM,\$TDD,\$ReplyTo,\$SupersedeMID,\$Expire);
+      postfaq(\$ActName,\$File,\$From,\$Subject,\$NG,\$Fup2,\$MIDF,\$Charset,\$ExtHea,\$Config{'Sender'},\$TDY,\$TDM,\$TDD,\$ReplyTo,\$SupersedeMID,\$Expire);
        }
   } elsif($Options{'v'}) {
     print "$ActName: Nothing to do.\n";
@@ -238,7 +238,7 @@ sub updatestatus {
 # It reads the data-file $File and then posts the article.
 
 sub postfaq {
-  my ($ActName,$File,$From,$Subject,$NG,$Fup2,$MIDF,$ExtraHeaders,$Sender,$TDY,$TDM,$TDD,$ReplyTo,$Supersedes,$Expire) = @_;
+  my ($ActName,$File,$From,$Subject,$NG,$Fup2,$MIDF,$Charset,$ExtraHeaders,$Sender,$TDY,$TDM,$TDD,$ReplyTo,$Supersedes,$Expire) = @_;
   my (@Header,@Body,$MID,$InRealBody,$LastModified);
 
   print "$$ActName: Preparing to post.\n" if($Options{'v'});
@@ -295,6 +295,10 @@ sub postfaq {
     $$Subject =~ s/[<\[{\(]?\%LM[>\]}\)]?//;
   }
 
+  # Set Charset
+  $$Charset = 'UTF-8' if !$$Charset;
+  my $ContentType = sprintf('text/plain; charset=%s',$$Charset);
+
   # Test mode?
   if($Options{'t'} and $Options{'t'} !~ /console/i) {
     $$NG = $Options{'t'};
@@ -317,7 +321,7 @@ sub postfaq {
   push @Header, "Sender: $$Sender\n" if $$Sender;
   push @Header, "Mime-Version: 1.0\n";
   push @Header, "Reply-To: $$ReplyTo\n" if $$ReplyTo;
-  push @Header, "Content-Type: text/plain; charset=ISO-8859-15\n";
+  push @Header, "Content-Type: $ContentType\n";
   push @Header, "Content-Transfer-Encoding: 8bit\n";
   push @Header, "User-Agent: yapfaq/$VERSION\n";
   if ($$ExtraHeaders) {
@@ -521,6 +525,14 @@ host B<yapfaq> is running on. Obviously that will only work if you
 have defined a reasonable hostname that the hostfqdn() function of
 Net::Domain can return.
 
+=item B<Charset> = I<encoding>  (optional)
+
+The character encoding of your FAQ. This setting is optional, but
+should match the encoding of your FAQ B<File>. Default is set to
+I<UTF-8>.
+
+This setting is copied verbatim to the I<Content-Type> header.
+
 =item B<Supersede> = I<yes>  (optional)
 
 Add Supersedes header to the message containing the Message-ID header
@@ -572,6 +584,10 @@ This setting is optional.
     # Message-ID ("%n" is $Name)
     # MID-Format = '<%n-%d.%m.%y@domain.invalid>'
     
+    # Character Encoding
+    # This setting is optional. Default: UTF-8
+    # Charset = ISO-8859-15
+    
     # Supersede last posting?
     Supersede = yes
     
@@ -846,7 +862,7 @@ L<https://code.th-h.de/?p=usenet/yapfaq.git>.
 
 =head1 AUTHOR
 
-Thomas Hochstein <thh@inter.net>
+Thomas Hochstein <thh@thh.name>
 
 Original author (up to version 0.5b, dating from 2003):
 Marc Brockschmidt <marc@marcbrockschmidt.de>
@@ -855,7 +871,7 @@ Marc Brockschmidt <marc@marcbrockschmidt.de>
 
 Copyright (c) 2003 Marc Brockschmidt <marc@marcbrockschmidt.de>
 
-Copyright (c) 2010-2017 Thomas Hochstein <thh@inter.net>
+Copyright (c) 2010-2017 Thomas Hochstein <thh@thh.name>
 
 This program is free software; you may redistribute it and/or modify it
 under the same terms as Perl itself.
This page took 0.012029 seconds and 4 git commands to generate.