# HG changeset patch # User HIROSE Yuuji # Date 1340422835 -32400 # Node ID d089cb42619d2173b5a344bccba57cda9908e772 # Parent ba64f43f07f7e852b2ffb7b0fa9d52f3a3e4e471 ML's return-path changed from maintainer to group owners. diff -r ba64f43f07f7 -r d089cb42619d after5.rb --- a/after5.rb Fri Jun 22 22:30:39 2012 +0900 +++ b/after5.rb Sat Jun 23 12:40:35 2012 +0900 @@ -4,7 +4,7 @@ # Associative Scheduling Table - after5 # (C)2003, 2004, 2006, 2008, 2012 by HIROSE Yuuji [yuujigentei.org] # $Id: after5.rb,v 1.19 2012/04/01 11:52:25 yuuji Exp yuuji $ -# Last modified Thu Jun 21 22:53:35 2012 on firestorm +# Last modified Sat Jun 23 12:35:30 2012 on firestorm # See http://www.gentei.org/~yuuji/software/after5/ # このスクリプトはEUCで保存してください。 $hgid = <<_HGID_.split[1..-2].join(" ") @@ -1087,6 +1087,7 @@ @oldagent = (%r,Mozilla/4, =~ ENV['HTTP_USER_AGENT']) @lang = 0 @mailmode = nil + @mailadmdelimiter = "/" @saveprefsregexp = /^(display(mode|days)$|nt|headline)/ @opt = { 'conf' => @mybase+".cf", @@ -2719,7 +2720,8 @@ # LOCAL=1 DEFAULT=name ./after5.rb -list # $DEFAULT is ML name viamail = ENV['LOCAL'] && ENV['DEFAULT'] # called via mail - from = nil + from = toadmin = nil + adminsuffix = @mailadmdelimiter+"admin" unless @opt['mailprefix'] && @opt['maildomain'] if viamail STDERR.print msg('sendall_err') % [@opt['conf']] @@ -2732,6 +2734,15 @@ if viamail then prohibitviahttp() name = ENV['DEFAULT'] + if Regexp.new("(.*)("+Regexp.quote(adminsuffix)+")") =~ name + # To: GROUP/admin@domain + # -> Forward to group administrator(s) + name, toadmin = $1, $2 + sendMail("yuuji@es.gentei.org", 'dummy', + STDIN.readlines.join, nil, @sc.admins(name), + {"Return-path" => @opt['maintainer']}, :thru) + exit 0 + end unless grepgroup(name) sendMail(@opt['maintainer'], "no group", sprintf("Invalid group address: %s(%s@%s)\nSent by %s\n" + @@ -2756,6 +2767,7 @@ fromhack = @sc.getgroupattr(name, 'fromhack') mldir = "ml/"+name to = @sc.getgroupattr(name, 'mladdress') || defaultmladdress(name) + errorsto = to.sub("@", adminsuffix+"@") subj = @params['subject'] || "Message from "+@myname sjtag = bracket.gsub("%n", nickname(name)). gsub("%i", name). @@ -2778,8 +2790,8 @@ "X-ML-Driver-URI" => $myurl, "X-ML-Name" => name, "X-ML-URI" => sprintf("%s?-groupman+%s", @opt['url'], name), - "Errors-to" => @opt['maintainer'], - "Return-path" => @opt['maintainer']} # This should be ML-owner + "Errors-to" => errorsto, + "Return-path" => errorsto} Dir.chdir @mydir rcpts = if grepgroup(name) @sc.members(name)