带有附件的 Codeigniter 电子邮件不起作用

Codeigniter email with attachment not working

我已经检查过堆栈溢出上的类似链接。但是我找不到任何解决方案。

Link 我已经检查过了

  1. Codeigniter send email with attach file
  2. Code Igniter -> attach email
  3. codeigniter send pdf file as email attachment

问题

什么时候发邮件,我收到邮件了。与所有细节。但附件不起作用。

尝试

我回显文件名,它打印来自控制器的文件名

代码

$upcon['upload_path'] = 'cv_uploads/';
$upcon['max_size'] = '5120';
$upcon['allowed_types'] = 'pdf|doc|txt|zip|rtf|docx';
$this->load->library('upload', $upcon);
if(!$this->upload->do_upload('file')){
    echo $this->upload->display_errors();
}
else{
    $up_data = $this->upload->data();

    $config['protocol'] = 'sendmail';
    $config['mailpath'] = '/usr/sbin/sendmail';
    $config['mailtype']  = 'html';
    $config['charset'] = 'iso-8859-1';
    $config['wordwrap'] = TRUE;

    $this->load->library('email',$config);
    $this->email->set_newline("\r\n");

    $name = $this->input->post('name');
    $email = $this->input->post('email');
    $address = $this->input->post('address');
    $residence = $this->input->post('residence');
    $office = $this->input->post('office');
    $mobile = $this->input->post('mobile');
    $position = $this->input->post('position');
    $comment = $this->input->post('comment');

    $file_name= '/cv_uploads/'.$up_data['file_name'];

    $this->email->from('xx@xxx.com', 'site name'); 
    $this->email->to('yy@yyyy.com');
    $this->email->attach($file_name);
    $this->email->subject('Subject');
    $this->email->message("Message ");
    if(!$this->email->send())
    {
        $data['sent_mail'] = false;
    }
    else{
        $data['sent_mail'] = "true";
    }

    print_r($file_name);
}

I'm receiving mail without the attachment. Any idea??

要发送附件,请使用绝对路径而不是相对路径,并确保 public.

可以访问您的附件

绝对路径示例

c:/test/test/cv_uploads/cv.doc

在你的代码中尝试

$file_name= FCPATH.'/cv_uploads/'.$up_data['file_name'];

$file_name= $_SERVER["DOCUMENT_ROOT"].'/cv_uploads/'.$up_data['file_name'];

并使用此功能附加文件

$this->email->attach($file_name);