diff options
author | Andrey Andreev <narf@bofh.bg> | 2012-03-23 10:22:54 +0100 |
---|---|---|
committer | Andrey Andreev <narf@bofh.bg> | 2012-03-23 10:22:54 +0100 |
commit | 549849b7aaba26547500505f8001a5126d425922 (patch) | |
tree | fe792c8022c00f6c21929df0ec9dffd8b4a6e300 | |
parent | 60c9c9990f635309965929e73d0bfe52d46253ca (diff) | |
parent | be07c9292421e1e18afa8126de35bccdc0fdaaa0 (diff) |
Merge pull request #1210 from leandronf/patch-1
(DSN) Delivery status notification feature
-rw-r--r-- | system/libraries/Email.php | 13 | ||||
-rw-r--r-- | user_guide_src/source/changelog.rst | 1 | ||||
-rw-r--r-- | user_guide_src/source/libraries/email.rst | 1 |
3 files changed, 12 insertions, 3 deletions
diff --git a/system/libraries/Email.php b/system/libraries/Email.php index f30fe40b6..8f383c939 100644 --- a/system/libraries/Email.php +++ b/system/libraries/Email.php @@ -59,6 +59,7 @@ class CI_Email { public $crlf = "\n"; // The RFC 2045 compliant CRLF for quoted-printable is "\r\n". Apparently some servers, // even on the receiving end think they need to muck with CRLFs, so using "\n", while // distasteful, is the only thing that seems to work for all environments. + public $dsn = FALSE; // Delivery Status Notification public $send_multipart = TRUE; // TRUE/FALSE - Yahoo does not like multipart alternative, so this is an override. Set to FALSE for Yahoo. public $bcc_batch_mode = FALSE; // TRUE/FALSE - Turns on/off Bcc batch feature public $bcc_batch_size = 200; // If bcc_batch_mode = TRUE, sets max number of Bccs in each batch @@ -1567,9 +1568,15 @@ class CI_Email { $resp = 250; break; case 'to' : - - $this->_send_data('RCPT TO:<'.$data.'>'); - + + if ($this->dsn) + { + $this->_send_data('RCPT TO:<'.$data.'> NOTIFY=SUCCESS,DELAY,FAILURE ORCPT=rfc822;'.$data); + } + else + { + $this->_send_data('RCPT TO:<'.$data.'>'); + } $resp = 250; break; case 'data' : diff --git a/user_guide_src/source/changelog.rst b/user_guide_src/source/changelog.rst index ed0b710c3..44ecf43d2 100644 --- a/user_guide_src/source/changelog.rst +++ b/user_guide_src/source/changelog.rst @@ -100,6 +100,7 @@ Release Date: Not Released - Added function reset_validation() to form validation library, which resets internal validation variables in case of multiple validation routines. - Changed the Session library to select only one row when using database sessions. - Added a Wincache driver to the `Caching Library <libraries/caching>`. + - Added dsn (delivery status notification) option to the :doc:`Email Library <libraries/email>`. - Core diff --git a/user_guide_src/source/libraries/email.rst b/user_guide_src/source/libraries/email.rst index 27b704dae..d7e40f5c4 100644 --- a/user_guide_src/source/libraries/email.rst +++ b/user_guide_src/source/libraries/email.rst @@ -104,6 +104,7 @@ Preference Default Value Options Descript **newline** \\n "\\r\\n" or "\\n" or "\\r" Newline character. (Use "\\r\\n" to comply with RFC 822). **bcc_batch_mode** FALSE TRUE or FALSE (boolean) Enable BCC Batch Mode. **bcc_batch_size** 200 None Number of emails in each BCC batch. +**dsn** FALSE TRUE or FALSE (boolean) Enable notify message from server =================== ====================== ============================ ======================================================================= Email Function Reference |