20b2b8064f87457847fd5b20ac7fb4f66b986edc hiram Fri Dec 8 07:37:07 2023 -0800 send email to a google group mail list refs #28930 diff --git src/hg/gar/gar.cgi.pl src/hg/gar/gar.cgi.pl index c1c927f..e42e482 100755 --- src/hg/gar/gar.cgi.pl +++ src/hg/gar/gar.cgi.pl @@ -1,33 +1,40 @@ #!/usr/bin/perl ## ## gar -- GenArk Request - receive requests for GenArk assemblies ## use URI::Escape; # use strict; # use warnings; my $httpRefer = "noReference"; my $referDomain = "noDomain"; -my $legitimateFrom = 'hclawson@ucsc.edu'; -my $httpReferMustBe = "assemblyRequest.html"; my $domainMustBe = "ucsc.edu"; -my $sendTo = 'hclawson@ucsc.edu'; -my $Cc = 'clayfischer@ucsc.edu'; -my $bounceAddr = 'hiram@soe.ucsc.edu'; +my $httpReferMustBe = "assemblyRequest.html"; +# obscure the email address from source tree robot scanning +my $myAddr = 'hclawson at ucsc dot edu'; +$myAddr =~ s/ at /@/; +$myAddr =~ s/ dot /./; +my $legitimateFrom = $myAddr; +my $sendTo = $myAddr; +my $Cc = $myAddr; +my $bounceAddr = $myAddr; +my $genArkRequestGroup = 'genark-request-group at ucsc dot edu'; +$genArkRequestGroup =~ s/ at /@/; +$genArkRequestGroup =~ s/ dot /./; if (defined($ENV{'HTTP_REFERER'})) { my @a = split('/', $ENV{'HTTP_REFERER'}); $httpRefer = $a[-1]; # should be "assemblyRequest.html" $httpRefer =~ s/\?.*//; # remove arguments if present my @b = split('\.', $a[-2]); $referDomain = "$b[-2].$b[-1]"; # should be "ucsc.edu" } print "Content-type: text/html\n\n"; print "<html><head><title>GenArk Request assembly build</title></head>\n"; print "<body>\n"; # QUERY_STRING name=some%20name&email=some@email.com&asmId=GCF_000951035.1_Cang.pa_1.0 @@ -63,47 +70,57 @@ print "</body></html>\n"; exit 0; } printf "<ul>\n"; printf "<li> name: '%s'</li>\n", $incoming{"name"}; printf "<li>email: '%s'</li>\n", $incoming{"email"}; printf "<li>asmId: '%s'</li>\n", $incoming{"asmId"}; printf "<li>betterName: '%s'</li>\n", $incoming{"betterName"}; printf "<li>comment: '%s'</li>\n", $incoming{"comment"}; printf "</ul>\n"; my $DS=`date "+%F %T"`; chomp $DS; + open (FH, "|/usr/sbin/sendmail -f \"${bounceAddr}\" -t -oi"); printf FH "To: %s Reply-to: %s Return-path: %s Cc: %s Subject: gar request: %s name: '%s' email: '%s' asmId: '%s' betterName: '%s' comment: '%s' date: '%s' ", $sendTo, $incoming{"email"}, $legitimateFrom, $Cc, $incoming{"asmId"}, $incoming{"name"}, $incoming{"email"}, $incoming{"asmId"}, $incoming{"betterName"}, $incoming{"comment"}, ${DS}; close (FH); -print "</body></html>\n"; +my $cleanEmail = $incoming{"email"}; +$cleanEmail =~ s/@/ at /; +$cleanEmail =~ s/\./ dot /g; -__END__ +# and then send the email to the google group with the cleanEmail in text +open (FH, "|/usr/sbin/sendmail -f \"${bounceAddr}\" -t -oi"); +printf FH "To: %s +Reply-to: %s +Return-path: %s +Subject: gar request: %s -print "<TABLE><TR><TH COLSPAN=2>hgwdev-hiram CGI gar</TH></TR>\n"; +name: '%s' +email: '%s' +asmId: '%s' +betterName: '%s' +comment: '%s' + +date: '%s' +", $genArkRequestGroup, $legitimateFrom, $legitimateFrom, $incoming{"asmId"}, $incoming{"name"}, $cleanEmail, $incoming{"asmId"}, $incoming{"betterName"}, $incoming{"comment"}, ${DS}; + +close (FH); -foreach $var (sort(keys(%ENV))) { - $val = $ENV{$var}; - $val =~ s|\n|\\n|g; - $val =~ s|"|\\"|g; - print "<TR><TH>${var}</TH><TD>${val}</TD></TR>\n"; -} -print "</TABLE>\n"; print "</body></html>\n";