Fix sending illegal multiple headers when re-sending messages.
authorJan Schneider <jan@horde.org>
Fri, 28 Aug 2009 09:27:44 +0000 (11:27 +0200)
committerJan Schneider <jan@horde.org>
Fri, 28 Aug 2009 09:27:44 +0000 (11:27 +0200)
framework/Mime/lib/Horde/Mime/Mail.php

index aecac73..3253c32 100644 (file)
@@ -419,13 +419,21 @@ class Horde_Mime_Mail
     public function send($config, $resend = false, $flowed = true)
     {
         /* Add mandatory headers if missing. */
-        if (!$resend || !$this->_headers->getValue('Message-ID')) {
+        $has_header = $this->_headers->getValue('Message-ID');
+        if (!$resend || !$has_header) {
+            if ($has_header) {
+                $this->_headers->removeHeader('Message-ID');
+            }
             $this->_headers->addMessageIdHeader();
         }
         if (!$this->_headers->getValue('User-Agent')) {
             $this->_headers->addUserAgentHeader();
         }
-        if (!$resend || !$this->_headers->getValue('Date')) {
+        $has_header = $this->_headers->getValue('Date');
+        if (!$resend || !$has_header) {
+            if ($has_header) {
+                $this->_headers->removeHeader('Date');
+            }
             $this->_headers->addHeader('Date', date('r'));
         }