Cannot send mail with no from header codeigniter

A common issue!

In CodeIgniter, when you're trying to send an email using the email library, you need to set the from header correctly. If you don't set it, the email will not be sent.

Here are a few possible solutions:

  1. Set the from header in the email configuration:

In your config/email.php file, set the from_email and from_name variables:

$config['from_email'] = '[email protected]';
$config['from_name'] = 'Your Name';
  1. Set the from header in the email library:

In your controller, before sending the email, set the from header using the set_from method:

$this->email->set_from('[email protected]', 'Your Name');
  1. Use the set_header method:

Alternatively, you can use the set_header method to set the from header:

$this->email->set_header('From', '[email protected]');
  1. Check your email configuration:

Make sure that your email configuration is correct. Check that your email server is configured correctly, and that you have the necessary permissions to send emails.

  1. Check for any errors:

If you're still having issues, check the error logs to see if there are any errors related to the email sending process.

Here's an example of a complete email sending code:

$this->load->library('email');

$this->email->set_from('[email protected]', 'Your Name');
$this->email->set_subject('Test Email');
$this->email->set_message('Hello, this is a test email.');

if (!$this->email->send()) {
    echo $this->email->print_debugger();
} else {
    echo 'Email sent successfully!';
}