Removed message priority code (heck, it's already a plugin -- leave it that
[squirrelmail.git] / functions / smtp.php
index d531f1dc8f779571bff5ef004db9c230e42e7766..0405a1dbe4fdfb4cd4ad8ec072dd26cc3d1a7660 100644 (file)
          }
         else
         {
+           if (strpos($array[$i], '@') === false)
+              $array[$i] .= '@' . $domain;
            $array[$i] = '<' . $array[$i] . '>';
         }
-        
-        if (strpos($array[$i], '@') === false) {
-           $array[$i] .= '@' . $domain;
-        }
       }
       return $array;
    }
@@ -89,7 +87,9 @@
             $header .= "Content-Disposition: attachment; filename=\"" .
                $info['remotefilename'] . "\"\r\n";
             
-            $file = fopen ($attachment_dir . $info['localfilename'], 'r');
+           // Use 'rb' for NT systems -- read binary
+           // Unix doesn't care -- everything's binary!  :-)
+            $file = fopen ($attachment_dir . $info['localfilename'], 'rb');
            if (substr($filetype, 0, 5) == 'text/' ||
                $filetype == 'message/rfc822') {
               $header .= "\r\n";
@@ -99,6 +99,8 @@
                  $tmp = str_replace("\r\n", "\n", $tmp);
                  $tmp = str_replace("\r", "\n", $tmp);
                  $tmp = str_replace("\n", "\r\n", $tmp);
+                 if (feof($fp) && substr($tmp, -2) != "\r\n")
+                    $tmp .= "\r\n";
                  fputs($fp, $tmp);
                  $length += strlen($tmp);
               }
    }
 
    function sendSMTP($t, $c, $b, $subject, $body, $more_headers) {
-      global $username, $popuser, $domain, $version, $smtpServerAddress, $smtpPort,
-         $data_dir, $color, $use_authenticated_smtp, $identity;
+      global $username, $popuser, $domain, $version, $smtpServerAddress, 
+         $smtpPort, $data_dir, $color, $use_authenticated_smtp, $identity, 
+        $key, $onetimepad;
 
       $to = expandAddrs(parseAddrs($t));
       $cc = expandAddrs(parseAddrs($c));
          $tmp = fgets($smtpConnection, 1024);
          if (errorCheck($tmp, $smtpConnection)!=5) return(0);
 
-         fputs($smtpConnection, base64_encode ($OneTimePadDecrypt($key, $onetimepad)) . "\r\n");
+         fputs($smtpConnection, base64_encode (OneTimePadDecrypt($key, $onetimepad)) . "\r\n");
          $tmp = fgets($smtpConnection, 1024);
          if (errorCheck($tmp, $smtpConnection)!=5) return(0);
       }
 
    function errorCheck($line, $smtpConnection, $verbose = false) {
       global $color;
-      include '../functions/page_header.php';
       
       // Read new lines on a multiline response
       $lines = $line;
       }
 
       if ($status == 0) {
+         include '../functions/page_header.php';
          displayPageHeader($color, 'None');
                 include ("../functions/display_messages.php");
          $lines = nl2br(htmlspecialchars($lines));
       }
 
       // In order to remove the problem of users not able to create
-         // messages with "." on a blank line, RFC821 has made provision
-         // in section 4.5.2 (Transparency).
-         $body = ereg_replace("\n\\.", "\n..", $body);
-         $body = ereg_replace("^\\.", "..", $body);
+      // messages with "." on a blank line, RFC821 has made provision
+      // in section 4.5.2 (Transparency).
+      $body = ereg_replace("\n\\.", "\n..", $body);
+      $body = ereg_replace("^\\.", "..", $body);
 
       // this is to catch all plain \n instances and
-      // replace them with \r\n.  
-      $body = ereg_replace("\r\n", "\n", $body);
+      // replace them with \r\n.  All newlines were converted
+      // into just \n inside the compose.php file.
       $body = ereg_replace("\n", "\r\n", $body);
       
       if ($useSendmail) {
         
       return $length;
    }
-
+   
 ?>