Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Codeigniter send email with attach file

I am trying to send email on codeigniter with attach file.

I always receive email successfully. However , I never receive with attach file. Below is code and highly appreciate for all comments.

    $ci = get_instance();
    $ci->load->library('email');
    $config['protocol'] = "smtp";
    $config['smtp_host'] = "ssl://smtp.gmail.com";
    $config['smtp_port'] = "465";
    $config['smtp_user'] = "[email protected]";
    $config['smtp_pass'] = "test";
    $config['charset'] = "utf-8";
    $config['mailtype'] = "html";
    $config['newline'] = "\r\n";

    $ci->email->initialize($config);

    $ci->email->from('[email protected]', 'Test Email');
    $list = array('[email protected]');
    $ci->email->to($list);
    $this->email->reply_to('[email protected]', 'Explendid Videos');
    $ci->email->subject('This is an email test');
    $ci->email->message('It is working. Great!');

    $ci->email->attach( '/test/myfile.pdf');
    $ci->email->send();
like image 540
mgphyo zaw Avatar asked Aug 21 '14 00:08

mgphyo zaw


People also ask

How to send email with attachment in CodeIgniter?

For this topic like send html email in Codeigniter with attachment we have use two library like Email and Upload of Codeigniter. File will be uploaded by using upload library and email send with attachment has been use email library. For attach uploaded file with email here we have use attach() method of email library.

How to send email in php CodeIgniter?

Sending an EmailThe subject() and message() function is used to set the subject and message of the email. $this->email->from('[email protected]', 'Your Name'); $this->email->to('[email protected]'); $this->email->subject('Email Test'); $this->email->message('Testing the email class.

What is SMTP in CodeIgniter?

Send email via SMTP server in CodeIgniter At first include the CodeIgniter email library. Now specify the SMTP host ( smtp_host ), port ( smtp_port ), email ( smtp_user ), and password ( smtp_pass ) in SMTP configuration ( $config ) as per your SMTP server.


1 Answers

$this->email->attach()

Enables you to send an attachment. Put the file path/name in the first parameter. Note: Use a file path, not a URL. For multiple attachments use the function multiple times. For example:

public function setemail()
{
$email="[email protected]";
$subject="some text";
$message="some text";
$this->sendEmail($email,$subject,$message);
}
public function sendEmail($email,$subject,$message)
    {

    $config = Array(
      'protocol' => 'smtp',
      'smtp_host' => 'ssl://smtp.googlemail.com',
      'smtp_port' => 465,
      'smtp_user' => '[email protected]', 
      'smtp_pass' => 'passwrd', 
      'mailtype' => 'html',
      'charset' => 'iso-8859-1',
      'wordwrap' => TRUE
    );


          $this->load->library('email', $config);
          $this->email->set_newline("\r\n");
          $this->email->from('[email protected]');
          $this->email->to($email);
          $this->email->subject($subject);
          $this->email->message($message);
            $this->email->attach('C:\Users\xyz\Desktop\images\abc.png');
          if($this->email->send())
         {
          echo 'Email send.';
         }
         else
        {
         show_error($this->email->print_debugger());
        }

    }
like image 150
Nitheesh K P Avatar answered Nov 07 '22 02:11

Nitheesh K P