comparison after5.rb @ 58:d5650f7361d9 draft

Abolish errors-to header.
author HIROSE Yuuji <yuuji@gentei.org>
date Mon, 25 Jun 2012 12:28:50 +0900
parents d089cb42619d
children 595ff0134cd9
comparison
equal deleted inserted replaced
57:d089cb42619d 58:d5650f7361d9
2 # -*- coding: euc-jp -*- 2 # -*- coding: euc-jp -*-
3 # 3 #
4 # Associative Scheduling Table - after5 4 # Associative Scheduling Table - after5
5 # (C)2003, 2004, 2006, 2008, 2012 by HIROSE Yuuji [yuuji<at>gentei.org] 5 # (C)2003, 2004, 2006, 2008, 2012 by HIROSE Yuuji [yuuji<at>gentei.org]
6 # $Id: after5.rb,v 1.19 2012/04/01 11:52:25 yuuji Exp yuuji $ 6 # $Id: after5.rb,v 1.19 2012/04/01 11:52:25 yuuji Exp yuuji $
7 # Last modified Sat Jun 23 12:35:30 2012 on firestorm 7 # Last modified Mon Jun 25 12:28:01 2012 on firestorm
8 # See http://www.gentei.org/~yuuji/software/after5/ 8 # See http://www.gentei.org/~yuuji/software/after5/
9 # このスクリプトはEUCで保存してください。 9 # このスクリプトはEUCで保存してください。
10 $hgid = <<_HGID_.split[1..-2].join(" ") 10 $hgid = <<_HGID_.split[1..-2].join(" ")
11 $HGid$ 11 $HGid$
12 _HGID_ 12 _HGID_
2719 # For debug: 2719 # For debug:
2720 # LOCAL=1 DEFAULT=name ./after5.rb -list 2720 # LOCAL=1 DEFAULT=name ./after5.rb -list
2721 # $DEFAULT is ML name 2721 # $DEFAULT is ML name
2722 viamail = ENV['LOCAL'] && ENV['DEFAULT'] # called via mail 2722 viamail = ENV['LOCAL'] && ENV['DEFAULT'] # called via mail
2723 from = toadmin = nil 2723 from = toadmin = nil
2724 adminsuffix = @mailadmdelimiter+"admin" 2724 adminsuffix = @mailadmdelimiter+"adm-"
2725 unless @opt['mailprefix'] && @opt['maildomain'] 2725 unless @opt['mailprefix'] && @opt['maildomain']
2726 if viamail 2726 if viamail
2727 STDERR.print msg('sendall_err') % [@opt['conf']] 2727 STDERR.print msg('sendall_err') % [@opt['conf']]
2728 exit 0 2728 exit 0
2729 else 2729 else
2733 end 2733 end
2734 if viamail then 2734 if viamail then
2735 prohibitviahttp() 2735 prohibitviahttp()
2736 name = ENV['DEFAULT'] 2736 name = ENV['DEFAULT']
2737 if Regexp.new("(.*)("+Regexp.quote(adminsuffix)+")") =~ name 2737 if Regexp.new("(.*)("+Regexp.quote(adminsuffix)+")") =~ name
2738 # To: GROUP/admin@domain 2738 # To: GROUP/adm*@domain
2739 # -> Forward to group administrator(s) 2739 # -> Forward to group administrator(s)
2740 name, toadmin = $1, $2 2740 name, toadmin = $1, $2
2741 sendMail("yuuji@es.gentei.org", 'dummy', 2741 sendMail("dummy", 'dummy', # Original To: and Subject: go through
2742 STDIN.readlines.join, nil, @sc.admins(name), 2742 STDIN.readlines.join, nil, @sc.admins(name),
2743 {"Return-path" => @opt['maintainer']}, :thru) 2743 {"Return-path" => @opt['maintainer']}, :thru)
2744 exit 0 2744 exit 0
2745 end 2745 end
2746 unless grepgroup(name) 2746 unless grepgroup(name)
2765 end 2765 end
2766 bracket = @sc.getgroupattr(name, 'subjtag') || @params['mailbracket'] 2766 bracket = @sc.getgroupattr(name, 'subjtag') || @params['mailbracket']
2767 fromhack = @sc.getgroupattr(name, 'fromhack') 2767 fromhack = @sc.getgroupattr(name, 'fromhack')
2768 mldir = "ml/"+name 2768 mldir = "ml/"+name
2769 to = @sc.getgroupattr(name, 'mladdress') || defaultmladdress(name) 2769 to = @sc.getgroupattr(name, 'mladdress') || defaultmladdress(name)
2770 errorsto = to.sub("@", adminsuffix+"@") 2770 returnpath = to.sub("@", adminsuffix+"@")
2771 subj = @params['subject'] || "Message from "+@myname 2771 subj = @params['subject'] || "Message from "+@myname
2772 sjtag = bracket.gsub("%n", nickname(name)). 2772 sjtag = bracket.gsub("%n", nickname(name)).
2773 gsub("%i", name). 2773 gsub("%i", name).
2774 gsub(/%(\d*)c/){("%0"+$1+"d") % [mlseq(mldir)]} 2774 gsub(/%(\d*)c/){("%0"+$1+"d") % [mlseq(mldir)]}
2775 tagpt = Regexp.quote(bracket). # compute bracket pattern 2775 tagpt = Regexp.quote(bracket). # compute bracket pattern
2788 "Reply-to" => to, 2788 "Reply-to" => to,
2789 "X-ML-Driver" => ($hgid || @myname), 2789 "X-ML-Driver" => ($hgid || @myname),
2790 "X-ML-Driver-URI" => $myurl, 2790 "X-ML-Driver-URI" => $myurl,
2791 "X-ML-Name" => name, 2791 "X-ML-Name" => name,
2792 "X-ML-URI" => sprintf("%s?-groupman+%s", @opt['url'], name), 2792 "X-ML-URI" => sprintf("%s?-groupman+%s", @opt['url'], name),
2793 "Errors-to" => errorsto, 2793 "Return-path" => returnpath}
2794 "Return-path" => errorsto}
2795 Dir.chdir @mydir 2794 Dir.chdir @mydir
2796 rcpts = if grepgroup(name) 2795 rcpts = if grepgroup(name)
2797 @sc.members(name) 2796 @sc.members(name)
2798 else 2797 else
2799 [name] 2798 [name]
2800 end.collect {|u| mailaddress(u, name).split(/,\s*|\s+/)}.flatten 2799 end.collect {|u| mailaddress(u, name).split(/,\s*|\s+/)}.flatten
2801 # p rcpts 2800 # p rcpts
2802 # p to 2801 # p to
2802 ENV["QMAILINJECT"] = "r" # for ML mode, use verp
2803 sendMail(to, subj, body, from, rcpts, 2803 sendMail(to, subj, body, from, rcpts,
2804 header, 2804 header,
2805 ENV['SENDER'], 2805 ENV['SENDER'],
2806 @opt['mlspooling'] ? mldir : nil) 2806 @opt['mlspooling'] ? mldir : nil)
2807 if !viamail then 2807 if !viamail then

yatex.org