Documentation
[squirrelmail.git] / class / deliver / Deliver_SendMail.class.php
index 57e92ae34df9fa973c8623f6affce48385bd334f..3acfe6f4fb098db0629aed9590bf9156df698d1c 100644 (file)
@@ -2,35 +2,60 @@
 /**
  * Deliver_SendMail.class.php
  *
- * Copyright (c) 1999-2004 The SquirrelMail Project Team
+ * @copyright Copyright (c) 1999-2004 The SquirrelMail Project Team
  * Licensed under the GNU GPL. For full terms see the file COPYING.
  *
  * Delivery backend for the Deliver class.
  *
  * $Id$
+ *
+ * @author Marc Groot Koerkamp
+ *
  * @package squirrelmail
  */
 
+
 /** This of course depends upon Deliver */
 require_once(SM_PATH . 'class/deliver/Deliver.class.php');
-
 /**
- * Delivers messages using the sendmail binary
- * @package squirrelmail
+ * Delivers messages using the sendmail binary 
  */
+
 class Deliver_SendMail extends Deliver {
 
+   /**
+    * function preWriteToStream
+    *
+    * Sendmail needs LF's as line endings instead of CRLF.
+    * This function translates the line endings to LF and should be called
+    * before each line is written to the stream. 
+    *  
+    * @param string $s Line to process
+    * @return void
+    * @access private
+    */ 
     function preWriteToStream(&$s) {
        if ($s) {
          $s = str_replace("\r\n", "\n", $s);
        }
     }
-    
+
+   /**
+    * function initStream
+    *
+    * Initialise the sendmail connection.
+    *  
+    * @param Message $message Message object containing the from address
+    * @param string $sendmail_path Location of sendmail binary
+    * @return void
+    * @access public 
+    */    
     function initStream($message, $sendmail_path) {
         $rfc822_header = $message->rfc822_header;
        $from = $rfc822_header->from[0];
        $envelopefrom = trim($from->mailbox.'@'.$from->host);
-       $envelopefrom = str_replace(array("\0","\n"),array('',''),$envelopefrom);
+        $envelopefrom = str_replace(array("\0","\n"),array('',''),$envelopefrom);
        if (strstr($sendmail_path, "qmail-inject")) {
            $stream = popen (escapeshellcmd("$sendmail_path -i -f$envelopefrom"), "w");
        } else {
@@ -38,26 +63,45 @@ class Deliver_SendMail extends Deliver {
        }
        return $stream;
     }
-    
+
+   /**
+    * function finalizeStream
+    *
+    * Close the stream.
+    *  
+    * @param resource $stream
+    * @return boolean
+    * @access public
+    */    
     function finalizeStream($stream) {
        pclose($stream);
        return true;
     }
-    
+
+   /**
+    * function getBcc
+    *
+    * In case of sendmail, the rfc822header must contain the bcc header.
+    *  
+    * @return boolean true if rfc822header should include the bcc header.
+    * @access private
+    */
     function getBcc() {
        return true;
     }
-
+    
    /**
     * function clean_crlf
     *
     * Cleans each line to only end in a LF
     * Returns the length of the line including a CR, 
     * so that length is correct when the message is saved to imap
-    * Implemented to fix sendmail->postfix rejection of messages with attachments because of stray LF's
+    * Implemented to fix sendmail->postfix rejection of messages with 
+    * attachments because of stray LF's
     *
     * @param string $s string to strip of CR's 
-    * @return integer length of string including a CR for each LF 
+    * @return integer length of string including a CR for each LF
+    * @access private 
     */
     function clean_crlf(&$s) {
         $s = str_replace("\r\n", "\n", $s);
@@ -66,5 +110,6 @@ class Deliver_SendMail extends Deliver {
         return strlen($s2);
     }
     
+
 }
 ?>