Merged from 1.7.
authorvyshane <vyshane>
Wed, 14 Feb 2007 07:22:09 +0000 (07:22 +0000)
committervyshane <vyshane>
Wed, 14 Feb 2007 07:22:09 +0000 (07:22 +0000)
lib/phpmailer/README_MOODLE.txt [new file with mode: 0644]
lib/phpmailer/class.phpmailer.php

diff --git a/lib/phpmailer/README_MOODLE.txt b/lib/phpmailer/README_MOODLE.txt
new file mode 100644 (file)
index 0000000..3f57d59
--- /dev/null
@@ -0,0 +1,9 @@
+Moodle-specific changes to phpmailer are tracked here.
+
+
+  lib/phpmailer/class.phpmailer.php
+
+  Changed by: Vy-Shane Sin Fat <vy-shane AT moodle.com>
+  Date: 14 Feb 2007
+  Reason: http://tracker.moodle.org/browse/MDL-3681
+
index 73a40dfa48398124931a2329f3e8630fe52c936a..2cd5cfc7258231c5c7fe251029f8b2eec8dbc119 100644 (file)
@@ -811,7 +811,45 @@ class PHPMailer
         if($this->Mailer != "mail")
             $result .= $this->HeaderLine("Subject", $this->EncodeHeader(trim($this->Subject)));
 
-        $result .= sprintf("Message-ID: <%s@%s>%s", $uniq_id, $this->ServerHostname(), $this->LE);
+        /**
+         * BEGIN original phpmailer code
+         * 
+         * Commented out is the original line we are replacing.
+         * Vy-Shane Sin Fat <vy-shane At moodle.com>, 14 Feb 2007.
+         */
+        //$result .= sprintf("Message-ID: <%s@%s>%s", $uniq_id, $this->ServerHostname(), $this->LE);
+        /**
+         * END original phpmailer code
+         */
+
+        /**
+         * BEGIN custom Moodle code
+         *
+         * This change is made necessary by MDL-3681. The Moodle forum module
+         * adds Message-ID as a custom header for each forum post mailout.
+         * This is used to help email clients display the messages in a
+         * threaded view. However, phpmailer also adds it's own Message-ID
+         * to every email that it sends. We want this to happen only if we
+         * haven't defined our own custom Message-ID for the email.
+         *
+         * Vy-Shane Sin Fat <vy-shane At moodle.com>, 14 Feb 2007.
+         */
+        $needmessageid = true;
+
+        for($i=0; $i<count($this->CustomHeader); $i++)
+        {
+            if (strtolower(trim($this->CustomHeader[$i][0])) == 'message-id') {
+                $needmessageid = false;
+                break;
+            }
+        }
+        if ($needmessageid) {
+            $result .= sprintf("Message-ID: <%s@%s>%s", $uniq_id, $this->ServerHostname(), $this->LE);
+        }
+        /**
+         * END custom Moodle code
+         */
+
         $result .= $this->HeaderLine("X-Priority", $this->Priority);
         $result .= $this->HeaderLine("X-Mailer", "PHPMailer [version " . $this->Version . "]");