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'] = "test@gmail.com"; $config['smtp_pass'] = "test"; $config['charset'] = "utf-8"; $config['mailtype'] = "html"; $config['newline'] = "rn"; $ci->email->initialize($config); $ci->email->from('test@test.com', 'Test Email'); $list = array('test2@gmail.com'); $ci->email->to($list); $this->email->reply_to('my-email@gmail.com', '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();
Advertisement
Answer
$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="xyz@gmail.com"; $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' => 'abc@gmail.com', 'smtp_pass' => 'passwrd', 'mailtype' => 'html', 'charset' => 'iso-8859-1', 'wordwrap' => TRUE ); $this->load->library('email', $config); $this->email->set_newline("rn"); $this->email->from('abc@gmail.com'); $this->email->to($email); $this->email->subject($subject); $this->email->message($message); $this->email->attach('C:UsersxyzDesktopimagesabc.png'); if($this->email->send()) { echo 'Email send.'; } else { show_error($this->email->print_debugger()); } }