From 3aa9dc23ced3a904b05bd7edbe3ae9c628d56fab Mon Sep 17 00:00:00 2001 From: stekkel Date: Tue, 4 May 2004 09:51:13 +0000 Subject: [PATCH] Documentation. git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@7354 7612ce4b-ef26-0410-bec9-ea0150e637f0 --- class/deliver/Deliver_SendMail.class.php | 66 +++++++++++++++++++----- 1 file changed, 53 insertions(+), 13 deletions(-) diff --git a/class/deliver/Deliver_SendMail.class.php b/class/deliver/Deliver_SendMail.class.php index 57e92ae3..a9f44a8d 100644 --- a/class/deliver/Deliver_SendMail.class.php +++ b/class/deliver/Deliver_SendMail.class.php @@ -2,35 +2,55 @@ /** * 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 - */ + 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 +58,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 +105,6 @@ class Deliver_SendMail extends Deliver { return strlen($s2); } + } ?> -- 2.25.1