我正在尝试在带有附件的codeigniter上发送电子邮件。
我总是成功收到电子邮件。但是,我从未收到带有附件的文件。以下是代码,非常感谢所有评论。
$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'] = "\r\n"; $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();
$ this- >电子邮件-> attach()
使您可以发送附件。将文件路径/名称放在第一个参数中。注意:使用文件路径,而不是URL。对于多个附件,请多次使用该功能。例如:
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("\r\n"); $this->email->from('abc@gmail.com'); $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()); } }