@samara
To fetch a record from the database and send it to an email using CodeIgniter, you can follow the steps below:
Step 1: Configure SMTP in CodeIgniter
First, configure the SMTP settings in your CodeIgniter project. Open the "config.php" file located in the "application/config" folder and update the following SMTP settings:
1 2 3 4 5 6 7 8 9 |
$config['protocol'] = 'smtp'; $config['smtp_host'] = 'your_smtp_host'; $config['smtp_port'] = 'your_smtp_port'; $config['smtp_user'] = 'your_smtp_username'; $config['smtp_pass'] = 'your_smtp_password'; $config['charset'] = 'utf-8'; $config['mailtype'] = 'html'; $config['newline'] = " "; |
Replace "your_smtp_host", "your_smtp_port", "your_smtp_username", and "your_smtp_password" with your SMTP server details.
Step 2: Create a Model
Create a model to fetch the record from the database. Open the "Email_model.php" file located in the "application/models" folder and add the following code:
1 2 3 4 5 6 7 |
class Email_model extends CI_Model { public function getRecord() { $query = $this->db->get('your_table_name'); return $query->result(); } } |
Replace "your_table_name" with the name of the table from which you want to fetch the record.
Step 3: Create a Controller
Create a controller named "Email" to send the record to an email. Open the "Email.php" file located in the "application/controllers" folder and add the following code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
class Email extends CI_Controller { public function index() { $this->load->library('email'); $this->load->model('email_model'); $record = $this->email_model->getRecord(); $data['record'] = $record; $this->email->from('[email protected]', 'Your Name'); $this->email->to('[email protected]'); $this->email->subject('Database Record'); $this->email->message($this->load->view('email_template', $data, true)); if ($this->email->send()) { echo 'Email sent successfully.'; } else { echo 'Email sending failed.'; } } } |
Replace "[email protected]", "Your Name", and "[email protected]" with the appropriate email addresses.
Step 4: Create a View
Create a view named "email_template.php" to format the email content. In the "application/views" folder, create a file named "email_template.php" and add the following code:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<html> <head> <title>Database Record</title> </head> <body> <h1>Database Record</h1> <?php foreach ($record as $row) : ?> <p>Name: <?php echo $row->name; ?></p> <p>Email: <?php echo $row->email; ?></p> <p>Phone: <?php echo $row->phone; ?></p> <?php endforeach; ?> </body> </html> |
Customize the email template according to your needs.
Step 5: Run the Code
Finally, open a web browser and visit the following URL to trigger the email sending process:
1
|
http://localhost/your_project_name/index.php/email |
Replace "your_project_name" with the name of your CodeIgniter project. If everything is set up correctly, the record fetched from the database will be sent to the specified email address.