Set envelope sender to the same as the From: address when PEAR mail is used. This...
authorMark A. Hershberger <mah@users.mediawiki.org>
Thu, 7 Jul 2011 18:03:46 +0000 (18:03 +0000)
committerMark A. Hershberger <mah@users.mediawiki.org>
Thu, 7 Jul 2011 18:03:46 +0000 (18:03 +0000)
Note that this only works when $wgSMTP is set and (as a result) the PEAR mailer is used.

When $wgSMTP is not set, the envelope sender is set using $wgAdditionalMailParams set to something like “-f from@example.com”.  Someone should create some Envelope sender sanity in how the envelope sender is set.

Suggestion: if $wgAdditionalMailParams is not set, then use $wgEmergencyContact to create “-f $wgEmergencyContact” for php mailer and to set the Return-Path header for PEAR mailer.  I used “From:” for Return-Path here because it seemed most sensible.

See also: http://pear.php.net/bugs/bug.php?id=5017

includes/UserMailer.php

index 3fbf114..0a7dc7f 100644 (file)
@@ -159,6 +159,7 @@ class UserMailer {
                        }
 
                        $headers['From'] = $from->toString();
+                       $headers['Return-Path'] = $from->toString();
 
                        if ( $wgEnotifImpersonal ) {
                                $headers['To'] = 'undisclosed-recipients:;';