better fix for bug #812690
[squirrelmail.git] / class / deliver / Deliver_SendMail.class.php
1 <?php
2 /**
3 * Deliver_SendMail.class.php
4 *
5 * Copyright (c) 1999-2003 The SquirrelMail Project Team
6 * Licensed under the GNU GPL. For full terms see the file COPYING.
7 *
8 * Delivery backend for the Deliver class.
9 *
10 * $Id$
11 */
12
13 require_once(SM_PATH . 'class/deliver/Deliver.class.php');
14
15 class Deliver_SendMail extends Deliver {
16
17 function preWriteToStream(&$s) {
18 if ($s) {
19 $s = str_replace("\r\n", "\n", $s);
20 }
21 }
22
23 function initStream($message, $sendmail_path) {
24 $rfc822_header = $message->rfc822_header;
25 $from = $rfc822_header->from[0];
26 $envelopefrom = trim($from->mailbox.'@'.$from->host);
27 $envelopefrom = str_replace(array("\0","\n"),array('',''),$envelopefrom);
28 if (strstr($sendmail_path, "qmail-inject")) {
29 $stream = popen (escapeshellcmd("$sendmail_path -i -f$envelopefrom"), "w");
30 } else {
31 $stream = popen (escapeshellcmd("$sendmail_path -i -t -f$envelopefrom"), "w");
32 }
33 return $stream;
34 }
35
36 function finalizeStream($stream) {
37 pclose($stream);
38 return true;
39 }
40
41 function getBcc() {
42 return true;
43 }
44
45 }
46 ?>