Use attachment_dir only at the point where we're actually
[squirrelmail.git] / class / deliver / Deliver_SMTP.class.php
index e50a535522e79e76fb68c6dcf755c42e13246ab3..490f21b7af9bce9378cc159e4219d2f67e55e983 100644 (file)
@@ -5,7 +5,7 @@
  *
  * SMTP delivery backend for the Deliver class.
  *
- * @copyright © 1999-2006 The SquirrelMail Project Team
+ * @copyright © 1999-2007 The SquirrelMail Project Team
  * @license http://opensource.org/licenses/gpl-license.php GNU Public License
  * @version $Id$
  * @package squirrelmail
@@ -82,6 +82,10 @@ class Deliver_SMTP extends Deliver {
             $content_type->type1 == 'report' &&
             isset($content_type->properties['report-type']) &&
             $content_type->properties['report-type']=='disposition-notification') {
+            // reinitialize the from object because otherwise the from header somehow
+            // is affected. This $from var is used for smtp command MAIL FROM which
+            // is not the same as what we put in the rfc822 header.
+            $from = new AddressStructure();
             $from->host = '';
             $from->mailbox = '';
         }
@@ -136,8 +140,8 @@ class Deliver_SMTP extends Deliver {
         // Read ehlo response
         $tmp = $this->parse_ehlo_response($stream);
         if ($this->errorCheck($tmp,$stream)) {
-            // fall back to HELO if EHLO is not supported
-            if ($this->dlv_ret_nr == '500') {
+            // fall back to HELO if EHLO is not supported (error 5xx)
+            if ($this->dlv_ret_nr{0} == '5') {
                 fputs($stream, "HELO $helohost\r\n");
                 $tmp = fgets($stream,1024);
                 if ($this->errorCheck($tmp,$stream)) {
@@ -510,5 +514,3 @@ class Deliver_SMTP extends Deliver {
         return $ret;
     }
 }
-
-?>