Mercurial > hgrepos > hgweb.cgi > after5
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 |