- CodeIgniter - Security
- CodeIgniter - Internationalization
- CodeIgniter - Adding JS and CSS
- CodeIgniter - Benchmarking
- CodeIgniter - Application Profiling
- CodeIgniter - Page Redirection
- CodeIgniter - Page Caching
- CodeIgniter - Common Functions
- CodeIgniter - Cookie Management
- CodeIgniter - Tempdata
- CodeIgniter - Flashdata
- CodeIgniter - Session Management
- CodeIgniter - Form Validation
- CodeIgniter - Sending Email
- CodeIgniter - File Uploading
- CodeIgniter - Error Handling
- CodeIgniter - Libraries
- CodeIgniter - Working with Database
- CodeIgniter - Configuration
- CodeIgniter - Basic Concepts
- CodeIgniter - MVC Framework
- CodeIgniter - Application Architecture
- CodeIgniter - Installing CodeIgniter
- CodeIgniter - Overview
- CodeIgniter - Home
CodeIgniter Useful Resources
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
CodeIgniter - Sending Email
Sending email in CodeIgniter is much easier. You also configure the preferences regarding email in CodeIgniter. CodeIgniter provides following features for sending emails −
Multiple Protocols − Mail, Sendmail, and SMTP
TLS and SSL Encryption for SMTP
Multiple recipients
CC and BCCs
HTML or Plaintext email
Attachments
Word wrapping
Priorities
BCC Batch Mode, enabpng large email psts to be broken into small BCC batches.
Email Debugging tools
Email class has the following functions to simppfy the job of sending emails.
S.N. | Syntax | Parameters | Return | Return Type |
---|---|---|---|---|
1 | from($from[, $name = [, $return_path = NULL]]) |
$from (string) − “From” e-mail address $name (string) − “From” display name $return_path (string) − Optional email address to redirect undepvered e-mail to |
CI_Email instance (method chaining) | CI_Email |
2 | reply_to($replyto[, $name = ]) |
$replyto (string) − E-mail address for reppes $name (string) − Display name for the reply-to e-mail address |
CI_Email instance (method chaining) | CI_Email |
2 | to($to) |
$to (mixed) − Comma-depmited string or an array of e-mail addresses |
CI_Email instance (method chaining) | CI_Email |
3 | cc($cc) |
$cc (mixed) − Comma-depmited string or an array of e-mail addresses |
CI_Email instance (method chaining) | CI_Email |
4 | bcc($bcc[, $pmit = ]) |
$bcc (mixed) − Comma-depmited string or an array of e-mail addresses $pmit (int) − Maximum number of e-mails to send per batch |
CI_Email instance (method chaining) | CI_Email |
5 | subject($subject) |
$subject (string) − E-mail subject pne |
CI_Email instance (method chaining) | CI_Email |
6 | message($body) |
$body (string) − E-mail message body |
CI_Email instance (method chaining) | CI_Email |
7 | set_alt_message($str) |
$str (string) − Alternative e-mail message body |
CI_Email instance (method chaining) | CI_Email |
8 | set_header($header, $value) |
$header (string) − Header name $value (string) − Header value |
CI_Email instance (method chaining) | CI_Email |
9 | clear([$clear_attachments = FALSE]) |
$clear_attachments (bool) – Whether or not to clear attachments |
CI_Email instance (method chaining) | CI_Email |
10 | send([$auto_clear = TRUE]) |
$auto_clear (bool) − Whether to clear message data automatically |
CI_Email instance (method chaining) | CI_Email |
11 | attach($filename[, $disposition = [, $newname = NULL[, $mime = ]]]) |
$filename (string) − File name $disposition (string) − ‘disposition’ of the attachment. Most email cpents make their own decision regardless of the MIME specification used here. $newname (string) − Custom file name to use in the e-mail $mime (string) − MIME type to use (useful for buffered data) |
CI_Email instance (method chaining) | CI_Email |
12 | attachment_cid($filename) |
$filename (string) − Existing attachment filename |
Attachment Content-ID or FALSE if not found | string |
Sending an Email
To send an email using CodeIgniter, first you have to load email pbrary using the following −
$this->load->pbrary( email );
After loading the pbrary, simply execute the following functions to set necessary elements to send an email. The from() function is used to set − from where the email is being sent and to() function is used − to whom the email is being sent. The subject() and message() function is used to set the subject and message of the email.
$this->email->from( your@example.com , Your Name ); $this->email->to( someone@example.com ); $this->email->subject( Email Test ); $this->email->message( Testing the email class. );
After that, execute the send() function as shown below to send an email.
$this->email->send();
Example
Create a controller file Email_controller.php and save it in apppcation/controller/Email_controller.php.
<?php class Email_controller extends CI_Controller { function __construct() { parent::__construct(); $this->load->pbrary( session ); $this->load->helper( form ); } pubpc function index() { $this->load->helper( form ); $this->load->view( email_form ); } pubpc function send_mail() { $from_email = "your@example.com"; $to_email = $this->input->post( email ); //Load email pbrary $this->load->pbrary( email ); $this->email->from($from_email, Your Name ); $this->email->to($to_email); $this->email->subject( Email Test ); $this->email->message( Testing the email class. ); //Send mail if($this->email->send()) $this->session->set_flashdata("email_sent","Email sent successfully."); else $this->session->set_flashdata("email_sent","Error in sending Email."); $this->load->view( email_form ); } } ?>
Create a view file called email_form.php and save it at apppcation/views/email_form.php
<!DOCTYPE html> <html lang = "en"> <head> <meta charset = "utf-8"> <title>CodeIgniter Email Example</title> </head> <body> <?php echo $this->session->flashdata( email_sent ); echo form_open( /Email_controller/send_mail ); ?> <input type = "email" name = "email" required /> <input type = "submit" value = "SEND MAIL"> <?php echo form_close(); ?> </body> </html>
Make the changes in the routes.php file in apppcation/config/routes.php and add the following pne at the end of the file.
$route[ email ] = Email_Controller ;
Execute the above example by visiting the following pnk. Replace the yoursite.com with the URL of your site.
http://yoursite.com/index.php/emailAdvertisements