CodeIgniter - Sending Email
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, enabling large email lists to be broken into small BCC batches.
·Email Debugging tools
Email class has the following functions to simplify the job of sending emails.
Sending an Email
To send an email using CodeIgniter, first you have to load email library using the following:
$this->load->library('email');
After loading the library, 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 application/controller/Email_controller.php.
<?php
class Email_controller
extends
CI_Controller
{
function construct()
{
parent:: construct();
$this->load->library('session');
$this->load->helper('form');
}
public function
index()
{
$this->load->helper('form');
$this->load->view('email_form');
}
public function
send_mail()
{
$to_email
=
$this->input->post('email');
//Load email
library
$this->load->library('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
application/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
application/config/routes.php and
add the following line at the end of the file.
$route['email']
=
'Email_Controller';
Execute
the
above
example
by
visiting
the
following
link.
Replace
the
yoursite.com
with the URL of your site.
http://yoursite.com/index.php/email
Comments
Post a Comment