Как отправить вложение через библиотеку электронной почты, используя собственную библиотеку электронной почты в CodeIgniter - PullRequest
0 голосов
/ 20 декабря 2018

Если я использую приведенный ниже метод в своей собственной библиотеке, он успешно отправляет электронную почту, но вложения не отображаются в электронной почте, т. Е. Вложения не прикрепляются к электронной почте, также при включении bcc выдается Внутренняя ошибка сервера, но если я использую тот же кодв моем контроллере он работает правильно.

public function sendEmail($arrData=array()){
        if($arrData['TO_EMAIL']=='') return FALSE;
        $status = FALSE;
        $config = array(
            'protocol' => 'sendmail',
            'charset'   => 'utf-8',
            'wordwrap'  => TRUE,
            'mailtype'  => 'html'
        );
        $to = 'ra@gmail.com';
        $cci =& get_instance();
        $cci->load->library('email', $config);

        $cci->email->from($arrData['FROM_EMAIL'],           $arrData['FROM_NAME']);
        $cci->email->to($arrData['TO_EMAIL'], $arrData['TO_NAME']);
        if($arrData['CC_EMAIL'])
            $cci->email->cc($arrData['CC_EMAIL']);
        //$this->email->bcc('ravr@rediffmail.com');
        $cci->email->subject($arrData['SUBJECT']);
        $cci->email->message($arrData['MESSAGE']);
        if($arrData['FILES'])
            $cci->email->attach($arrData['FILES']);
        $status = $cci->email->send();
        return $status;
    }

1 Ответ

0 голосов
/ 20 декабря 2018

Используйте помощник пути

$this->load->helper('path');
$path = set_realpath('pathtouploads'); //your uploads folder

, затем

$this->email->attach($path . $file);
...