From 5d6b815d1ce8eece29e22e09781f890375f3c403 Mon Sep 17 00:00:00 2001 From: "travis%sedsystems.ca" <> Date: Wed, 16 Mar 2005 00:44:06 +0000 Subject: Bug 135812 : Add a 'mailfrom' parameter to unify bugmail originating address Patch by Cedric Caron r=wurblzap a=justdave --- Bugzilla/Config.pm | 12 ++++++++++++ defparams.pl | 20 ++++++++++++++++---- template/en/default/account/cancel-token.txt.tmpl | 3 ++- .../en/default/account/email/change-new.txt.tmpl | 3 ++- .../en/default/account/email/change-old.txt.tmpl | 3 ++- .../account/password/forgotten-password.txt.tmpl | 3 ++- template/en/default/request/email.txt.tmpl | 3 ++- template/en/default/whine/multipart-mime.txt.tmpl | 1 + whine.pl | 9 ++++----- 9 files changed, 43 insertions(+), 14 deletions(-) diff --git a/Bugzilla/Config.pm b/Bugzilla/Config.pm index 6bc149be9..c1c317d57 100644 --- a/Bugzilla/Config.pm +++ b/Bugzilla/Config.pm @@ -251,6 +251,18 @@ sub UpdateParams { delete $param{'enablequips'}; } + # Update e-mail text to use new mailfrom param (Bug 135812) + if (!exists $param{'mailfrom'}) { + $param{'passwordmail'} =~ s/^From: bugzilla-daemon$/From: %mailfrom%/mi; + $param{'passwordmail'} =~ s/\n\n/\nX-Bugzilla-Type: admin\n\n/; + $param{'newchangedmail'} =~ s/^From: bugzilla-daemon$/From: %mailfrom%/mi; + $param{'newchangedmail'} =~ s/\n\n/\nX-Bugzilla-Type: newchanged\n\n/; + $param{'voteremovedmail'} =~ s/^From: bugzilla-daemon$/From: %mailfrom%/mi; + $param{'voteremovedmail'} =~ s/\n\n/\nX-Bugzilla-Type: voteremoved\n\n/; + $param{'whinemail'} =~ s/^From: %maintainer%$/From: %mailfrom%/mi; + $param{'whinemail'} =~ s/\n\n/\nX-Bugzilla-Type: whine\n\n/; + } + # --- DEFAULTS FOR NEW PARAMS --- foreach my $item (@param_list) { diff --git a/defparams.pl b/defparams.pl index 5e2110d61..30e7ed72a 100644 --- a/defparams.pl +++ b/defparams.pl @@ -307,6 +307,14 @@ sub find_languages { default => 'THE MAINTAINER HAS NOT YET BEEN SET' }, + { + name => 'mailfrom', + desc => 'The email address of the Bugzilla mail daemon. Some email systems ' . + 'require this to be a valid email address.', + type => 't', + default => 'bugzilla-daemon' + }, + { name => 'urlbase', desc => 'The URL that is the common initial leading part of all Bugzilla ' . @@ -718,9 +726,10 @@ sub find_languages { 'password. %anythingelse% gets replaced by the ' . 'definition of that parameter (as defined on this page).', type => 'l', - default => 'From: bugzilla-daemon + default => 'From: %mailfrom% To: %mailaddress% Subject: Your Bugzilla password. +X-Bugzilla-Type: admin To use the wonders of Bugzilla, you can use the following: @@ -753,11 +762,12 @@ To use the wonders of Bugzilla, you can use the following: 'replaced by the definition of that parameter (as defined on ' . 'this page).', type => 'l', - default => 'From: bugzilla-daemon + default => 'From: %mailfrom% To: %to% Subject: [Bug %bugid%] %neworchanged%%summary% %threadingmarker% X-Bugzilla-Reason: %reasonsheader% +X-Bugzilla-Type: newchanged %urlbase%show_bug.cgi?id=%bugid% @@ -789,9 +799,10 @@ Configure bugmail: %urlbase%userprefs.cgi?tab=email 'address, so that if the mail bounces, a real person can know '. 'that there are bugs assigned to an invalid address.', type => 'l', - default => 'From: %maintainer% + default => 'From: %mailfrom% To: %email% Subject: Your Bugzilla buglist needs attention. +X-Bugzilla-Type: whine [This e-mail has been automatically generated.] @@ -1032,9 +1043,10 @@ You will get this message once a day until you\'ve dealt with these bugs! 'compatibility. %anythingelse% gets replaced by the ' . 'definition of that parameter (as defined on this page).', type => 'l', - default => 'From: bugzilla-daemon + default => 'From: %mailfrom% To: %to% Subject: [Bug %bugid%] Some or all of your votes have been removed. +X-Bugzilla-Type: voteremoved Some or all of your votes have been removed from bug %bugid%. diff --git a/template/en/default/account/cancel-token.txt.tmpl b/template/en/default/account/cancel-token.txt.tmpl index de2278419..38ad37bef 100644 --- a/template/en/default/account/cancel-token.txt.tmpl +++ b/template/en/default/account/cancel-token.txt.tmpl @@ -22,9 +22,10 @@ [% PROCESS global/variables.none.tmpl %] -From: bugzilla-admin-daemon +From: [% Param('mailfrom') %] To: [% emailaddress %] Subject: [% PROCESS subject %] +X-B[%#%]ugzilla-Type: admin A request was cancelled from [% remoteaddress %]. diff --git a/template/en/default/account/email/change-new.txt.tmpl b/template/en/default/account/email/change-new.txt.tmpl index 7113504d8..cbc0af1e7 100644 --- a/template/en/default/account/email/change-new.txt.tmpl +++ b/template/en/default/account/email/change-new.txt.tmpl @@ -22,9 +22,10 @@ [% PROCESS global/variables.none.tmpl %] [% expiration_ts = token_ts + (max_token_age * 86400) %] -From: bugzilla-admin-daemon +From: [% Param('mailfrom') %] To: [% emailaddress %] Subject: [% terms.Bugzilla %] Change Email Address Request +X-B[%#%]ugzilla-Type: admin [%+ terms.Bugzilla %] has received a request to change the email address for the account [% oldemailaddress %] to your address. diff --git a/template/en/default/account/email/change-old.txt.tmpl b/template/en/default/account/email/change-old.txt.tmpl index 272f6d4e5..12de7530d 100644 --- a/template/en/default/account/email/change-old.txt.tmpl +++ b/template/en/default/account/email/change-old.txt.tmpl @@ -27,12 +27,13 @@ [% PROCESS global/variables.none.tmpl %] [% expiration_ts = token_ts + (max_token_age * 86400) %] -From: bugzilla-admin-daemon +From: [% Param('mailfrom') %] To: [% emailaddress %] Subject: [% terms.Bugzilla %] Change Email Address Request Importance: High X-MSMail-Priority: High X-Priority: 1 +X-B[%#%]ugzilla-Type: admin [%+ terms.Bugzilla %] has received a request to change the email address for your account to [%+ newemailaddress %]. diff --git a/template/en/default/account/password/forgotten-password.txt.tmpl b/template/en/default/account/password/forgotten-password.txt.tmpl index 5ac3ed75c..b56e930fd 100644 --- a/template/en/default/account/password/forgotten-password.txt.tmpl +++ b/template/en/default/account/password/forgotten-password.txt.tmpl @@ -22,9 +22,10 @@ [% PROCESS global/variables.none.tmpl %] [% expiration_ts = token_ts + (max_token_age * 86400) %] -From: bugzilla-admin-daemon +From: [% Param('mailfrom') %] To: [% emailaddress %] Subject: [% terms.Bugzilla %] Change Password Request +X-B[%#%]ugzilla-Type: admin You have (or someone impersonating you has) requested to change your [%+ terms.Bugzilla %] password. To complete the change, visit the following link: diff --git a/template/en/default/request/email.txt.tmpl b/template/en/default/request/email.txt.tmpl index 719f9d869..f34227a56 100644 --- a/template/en/default/request/email.txt.tmpl +++ b/template/en/default/request/email.txt.tmpl @@ -36,10 +36,11 @@ [% to_identity = flag.setter.identity _ "'s request" %] [% subject_status = statuses.${flag.status} %] [% END %] -From: bugzilla-request-daemon +From: [% Param('mailfrom') %] To: [% to_email %] CC: [% flag.type.cc_list %] Subject: [% flag.type.name %] [%+ subject_status %]: [[% terms.Bug %] [%+ flag.target.bug.id %]] [% flag.target.bug.summary %] +X-B[%#%]ugzilla-Type: request [%- IF flag.target.attachment.exists %] : [Attachment [% flag.target.attachment.id %]] [% flag.target.attachment.summary %][% END %] diff --git a/template/en/default/whine/multipart-mime.txt.tmpl b/template/en/default/whine/multipart-mime.txt.tmpl index 5e597d899..855cbd066 100644 --- a/template/en/default/whine/multipart-mime.txt.tmpl +++ b/template/en/default/whine/multipart-mime.txt.tmpl @@ -34,6 +34,7 @@ From: [% from %] To: [% recipient.email %] Subject: [[% terms.Bugzilla %]] [% subject %] +X-B[%#%]ugzilla-Type: whine MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="[% boundary %]" diff --git a/whine.pl b/whine.pl index a13a129b4..0642ec5ab 100755 --- a/whine.pl +++ b/whine.pl @@ -99,14 +99,13 @@ if (Param('shutdownhtml')) { } -# Send whines from the maintainer address. It's not a good idea to use -# the whine creator address because the admin can make more use of bounces and -# other replies. -my $fromaddress = Param('maintainer'); +# Send whines from the address in the 'mailfrom' Parameter so that all +# Bugzilla-originated mail appears to come from a single address. +my $fromaddress = Param('mailfrom'); if ($fromaddress !~ Param('emailregexp')) { die "Cannot run. " . - "The maintainer email address has not been properly set!\n"; + "The Bugzilla email address has not been properly set!\n"; } # Check the nomail file for users who should not receive mail -- cgit v1.2.3-24-g4f1b