title: CodeIgniter Email Doesn't Work
body: <p>I configured an SMTP server accessible via localhost.</p>
  
  <p>PHP mail() command works fine, I use it in scheduled tasks to email backups as attachments.</p>
  
  <p>If I use CodeIgniter v1.7.2 email library using the following code, and the CI debug output says the message is sent, but the SMTP server logs show Bad Sender.</p>
  
  <pre><code>        $this-&gt;CI-&gt;load-&gt;library('email');
  
          $config['protocol'] = 'mail';
          $config['smtp_host'] = 'localhost';
          $config['mailtype'] = 'html';
          $config['crlf']        = "\r\n";        // CHANGED FROM DEFAULTS
          $config['newline']     = "\r\n";        // CHANGED FROM DEFAULTS
  
          $this-&gt;CI-&gt;email-&gt;initialize($config);
  
          $this-&gt;CI-&gt;email-&gt;from('noreply@hiddendomain.com');
          $this-&gt;CI-&gt;email-&gt;to($_POST['email']); 
  
          $this-&gt;CI-&gt;email-&gt;subject('Password Reset');
          $this-&gt;CI-&gt;email-&gt;message('Testing the email class. &lt;a href="http://www.google.co.uk"&gt;test&lt;/a&gt;');   
  
          $this-&gt;CI-&gt;email-&gt;send();
  </code></pre>
  
  <p>This is the log from PHP mail for 2 messages (changed domains to hiddendomain1/2)</p>
  
  <pre><code>03/10/11 16:26:39   ME-I0107: [496] Relay Granted: Sender IP (127.0.0.1) is within an authorized IP range.
  03/10/11 16:26:39   ME-I0149: [496] AFAB1A79683B434EAD6A415C5DAA7D52.MAI was received successfully and delivery thread was initiated
  03/10/11 16:26:39   ME-I0074: [496] (Debug) End of conversation
  03/10/11 16:26:39   ME-I0107: [552] Relay Granted: Sender IP (127.0.0.1) is within an authorized IP range.
  03/10/11 16:26:39   ME-I0149: [552] 16B8D83CD6B040489608FCE5E9C3A177.MAI was received successfully and delivery thread was initiated
  03/10/11 16:26:39   ME-I0074: [552] (Debug) End of conversation
  03/10/11 16:26:40   ME-I0018: [8F72D521DC554A13AA1E0973090A75B9.MAI] Outbound message from ([SMTP:noreply@hiddendomain1.com]) requeued as [CC32D29A0BA34D9496B1602A8150B7EE.MAI] to the target domain [hiddendomain2.com]
  03/10/11 16:26:40   ME-I0123: Domain [hiddendomain2.com] has MX list [mailserver.hiddendomain2.com]
  03/10/11 16:26:40   ME-I0026: [CC32D29A0BA34D9496B1602A8150B7EE.MAI] Sending message
  03/10/11 16:26:40   ME-I0018: [9D2654AE500442E4A90DDFD75B98C0B5.MAI] Outbound message from ([SMTP:noreply@hiddendomain1.com]) requeued as [90EF8F85B103431FB14A32F535AFFFFD.MAI] to the target domain [hiddendomain2.com]
  03/10/11 16:26:40   ME-I0123: Domain [hiddendomain2.com] has MX list [mailserver.hiddendomain2.com]
  03/10/11 16:26:40   ME-I0026: [90EF8F85B103431FB14A32F535AFFFFD.MAI] Sending message
  03/10/11 16:26:40   ME-I0049: [CC32D29A0BA34D9496B1602A8150B7EE.MAI] Send Completed Successfully
  03/10/11 16:26:41   ME-I0049: [90EF8F85B103431FB14A32F535AFFFFD.MAI] Send Completed Successfully
  </code></pre>
  
  <p>This is the log after sending via CodeIgniter, as you can see the CI email library is adding the &lt; char to the From address, can any help tell me why? is this is bug with CI?</p>
  
  <pre><code>03/10/11 16:26:42   ME-I0107: [568] Relay Granted: Sender IP (127.0.0.1) is within an authorized IP range.
  03/10/11 16:26:42   ME-I0149: [568] B1D7A0FCDF44403291E8EAD33F5F144F.MAI was received successfully and delivery thread was initiated
  03/10/11 16:26:42   ME-I0074: [568] (Debug) End of conversation
  03/10/11 16:26:42   ME-I0018: [38DFE013802046528FAC7823871869CC.MAI] Outbound message from ([SMTP:&lt;noreply@hiddendomain1.com]) requeued as [AC83949E463246DDBD022BBF355D4606.MAI] to the target domain [hiddendomain2.com]
  03/10/11 16:26:42   ME-I0123: Domain [hiddendomain2.com] has MX list [mailserver.hiddendomain2.com]
  03/10/11 16:26:42   ME-I0026: [AC83949E463246DDBD022BBF355D4606.MAI] Sending message
  03/10/11 16:26:42   ME-IXXXX: [AC83949E463246DDBD022BBF355D4606.MAI] Remote server returned a response indicating a permanent error. Server Response: (501 Bad sender address syntax**)
  03/10/11 16:26:42   ME-E0036: [AC83949E463246DDBD022BBF355D4606.MAI] MAIL FROM command Failed.
  03/10/11 16:26:42   ME-E0008: [AC83949E463246DDBD022BBF355D4606.MAI] Outbound, could not send the command to the server (error 10038).
  03/10/11 16:26:42   ME-E0060: [AC83949E463246DDBD022BBF355D4606.MAI] - Message could not be delivered to target domain (hiddendomain2.com). Message returned to Sender.
  03/10/11 16:26:43   ME-I0119: Domain [hiddendomain1.com] has used local loopback address [127.0.0.1] because it is hosted locally.
  03/10/11 16:26:43   ME-I0026: [AC83949E463246DDBD022BBF355D4606.MAI] Sending message
  03/10/11 16:26:43   ME-I0102: [572] Address ([SMTP:&lt;noreply@hiddendomain1.com]) is to be delivered to Catch-All address.
  03/10/11 16:26:43   ME-I0149: [572] CAEFBF802B8646DB99B4D2401571AE3E.MAI was received successfully and delivery thread was initiated
  03/10/11 16:26:43   ME-I0049: [AC83949E463246DDBD022BBF355D4606.MAI] Send Completed Successfully
  03/10/11 16:26:43   ME-I0074: [572] (Debug) End of conversation
  03/10/11 16:26:43   ME-I0132: Catch-All Message rendered for CAEFBF802B8646DB99B4D2401571AE3E.MAI
  </code></pre>
  
  <p>It looks the bug was reported here but shunned off as a problem with the SMTP server but it seems the problem is indeed a compatibility issues with the CI lib: <a href="http://codeigniter.com/forums/viewthread/114030/" rel="nofollow">http://codeigniter.com/forums/viewthread/114030/</a></p>
  
  <p>I am pretty damn sure that this is a problem with CI as PHP mail works fine. Can anyone confirm? because if not I need to change the script I use with CI. I can provide any logs / details </p>