From 4cefaa43c8ce1b2161ad0fb05add2e5a2d1bf328 Mon Sep 17 00:00:00 2001
From: Derek Jones
Date: Wed, 29 Apr 2009 19:13:56 +0000
Subject: added check for FALSE and NULL for servers who have popen listed in
php.ini's disable_functions. $fp cannot be trusted on those retarded servers
---
system/libraries/Email.php | 6 ++++++
user_guide/changelog.html | 1 +
2 files changed, 7 insertions(+)
diff --git a/system/libraries/Email.php b/system/libraries/Email.php
index a4d3c0971..585815934 100644
--- a/system/libraries/Email.php
+++ b/system/libraries/Email.php
@@ -1539,6 +1539,12 @@ class CI_Email {
{
$fp = @popen($this->mailpath . " -oi -f ".$this->clean_email($this->_headers['From'])." -t", 'w');
+ if ($fp === FALSE OR $fp === NULL)
+ {
+ // server probably has popen disabled, so nothing we can do to get a verbose error.
+ return FALSE;
+ }
+
fputs($fp, $this->_header_str);
fputs($fp, $this->_finalbody);
diff --git a/user_guide/changelog.html b/user_guide/changelog.html
index 154a30fb6..db30ad4d1 100644
--- a/user_guide/changelog.html
+++ b/user_guide/changelog.html
@@ -94,6 +94,7 @@ SVN Revision:
Fixed a fatal error in the Oracle and ODBC drivers (#6752)
Fixed a bug where Database Forge's add_column and modify_column were not looping through when sent multiple fields.
Fixed a bug where the File Helper was using '/' instead of the DIRECTORY_SEPARATOR constant.
+ Fixed a bug to prevent PHP errors when attempting to use sendmail on servers that have manually disabled the PHP popen() function.
Version 1.7.1
--
cgit v1.2.3-24-g4f1b