summaryrefslogtreecommitdiffstats
path: root/system/libraries/Email.php
diff options
context:
space:
mode:
authorAlex Bilbie <alex@alexbilbie.com>2012-10-18 17:45:54 +0200
committerAlex Bilbie <alex@alexbilbie.com>2012-10-18 17:45:54 +0200
commit447d803aa38f0204777ca3c34f534f172e5c078b (patch)
tree8320749908497fd87bad82a651c411185bfaa2a9 /system/libraries/Email.php
parent187632748fd2694dd735b48eee157744dd83f3b4 (diff)
parentcf264e0d165647f30efdef1b2d944849bebf4c72 (diff)
Merge branch 'develop' of github.com:EllisLab/CodeIgniter into codeigniter/develop
Diffstat (limited to 'system/libraries/Email.php')
-rw-r--r--system/libraries/Email.php34
1 files changed, 15 insertions, 19 deletions
diff --git a/system/libraries/Email.php b/system/libraries/Email.php
index 08057f2f7..bc9d62eb4 100644
--- a/system/libraries/Email.php
+++ b/system/libraries/Email.php
@@ -292,16 +292,7 @@ class CI_Email {
$this->set_header('To', implode(', ', $to));
}
- switch ($this->_get_protocol())
- {
- case 'smtp':
- $this->_recipients = $to;
- break;
- case 'sendmail':
- case 'mail':
- $this->_recipients = implode(', ', $to);
- break;
- }
+ $this->_recipients = $to;
return $this;
}
@@ -763,7 +754,7 @@ class CI_Email {
{
if ($this->alt_message !== '')
{
- return $this->word_wrap($this->alt_message, '76');
+ return $this->word_wrap($this->alt_message, 76);
}
$body = preg_match('/\<body.*?\>(.*)\<\/body\>/si', $this->_body, $match) ? $match[1] : $this->_body;
@@ -786,12 +777,12 @@ class CI_Email {
* @param int
* @return string
*/
- public function word_wrap($str, $charlim = '')
+ public function word_wrap($str, $charlim = NULL)
{
- // Se the character limit
- if ($charlim === '')
+ // Set the character limit, if not already present
+ if (empty($charlim))
{
- $charlim = ($this->wrapchars === '') ? 76 : $this->wrapchars;
+ $charlim = empty($this->wrapchars) ? 76 : $this->wrapchars;
}
// Reduce multiple spaces
@@ -1105,6 +1096,10 @@ class CI_Email {
*/
protected function _prep_quoted_printable($str)
{
+ // We are intentionally wrapping so mail servers will encode characters
+ // properly and MUAs will behave, so {unwrap} must go!
+ $str = str_replace(array('{unwrap}', '{/unwrap}'), '', $str);
+
// RFC 2045 specifies CRLF as "\r\n".
// However, many developers choose to override that and violate
// the RFC rules due to (apparently) a bug in MS Exchange,
@@ -1130,10 +1125,6 @@ class CI_Email {
$str = str_replace(array("\r\n", "\r"), "\n", $str);
}
- // We are intentionally wrapping so mail servers will encode characters
- // properly and MUAs will behave, so {unwrap} must go!
- $str = str_replace(array('{unwrap}', '{/unwrap}'), '', $str);
-
$escape = '=';
$output = '';
@@ -1408,6 +1399,11 @@ class CI_Email {
*/
protected function _send_with_mail()
{
+ if (is_array($this->_recipients))
+ {
+ $this->_recipients = implode(', ', $this->_recipients);
+ }
+
if ($this->_safe_mode === TRUE)
{
return mail($this->_recipients, $this->_subject, $this->_finalbody, $this->_header_str);