0

私はCIの初心者です。

これがwelcome.phpの私のコードです

class Welcome extends CI_Controller {


public function index()
{
$this->load->helper('url');
    $this->load->view('welcome_message');
}
public function emailSend()
{
$this->load->library('upload');
$this->load->library('email');

$config['upload_path'] = 'uploads/';
$config['allowed_types'] = 'gif|jpg|png';
$this->upload->initialize($config);







$this->email->from($this->input->post('from'), $this->input->post('name'));
$this->email->to('taryar.t1@gmail.com');
//$this->email->cc('another@another-example.com');
//$this->email->bcc('them@their-example.com');

$this->email->subject($this->input->post('subject'));
$this->email->message($this->input->post('body'));

if($this->upload->do_upload())
{
    $attachdata=$this->upload->data();
$this->email->attach($attachdata['full_path']);
}

if($this->email->send())
    {
        echo 'Your email was sent, successfully.';
    }

    else
    {
        show_error($this->email->print_debugger());
    }

}
}

/* End of file welcome.php */
/* Location: ./application/controllers/welcome.php */

このコードはテキストに対してのみ機能し、添付ファイル (画像) に対しては機能しません。エラーは「PHP mail() を使用してメールを送信できません。サーバーがこのメソッドを使用してメールを送信するように構成されていない可能性があります。」

どうすればそのエラーを修正できますか?? 私を助けてください。

4

3 に答える 3

1
        $config['charset'] = 'iso-8859-1';
        $config['wordwrap'] = TRUE;
        $config['mailtype'] = 'html';

        $this->email->initialize($config);
        $to = $this->input->post('to'); // email@gmail.com
        $cc = 'email@gmail.com'; // email@gmail.com
        $subject = $this->input->post('subject');
        $message = $this->input->post('message');

        $this->email->to($to);
        $this->email->cc($cc);
        $this->email->from('info@awandevelopers.com','Awan Developers');
        $this->email->subject($subject);
        $this->email->message($message);


        $config['upload_path'] = './attachments/'; // or you can use any folder like uploads
        $config['allowed_types'] = 'gif|jpg|png';
        $config['max_size'] = '1000';
        $config['max_width']  = '1024';
        $config['max_height']  = '768'; 
        $config['encrypt_name']     = true;
        $this->load->library('upload', $config);

        if(!$this->upload->do_upload('files')) // files will be input attachment field name
        {
            $this->upload->display_errors();
        }else{
            $image_data = $this->upload->data();
            $fname=$image_data['file_name'];
            $fpath=$image_data['file_path'].$fname;
            $this->email->attach($fpath);

            if ($this->email->send()){
                echo "Mail Sent!";
            }
            else{
                echo "There is error in sending mail!";
            }
        }   
于 2015-08-26T11:00:54.923 に答える
0

公式ドキュメントからこれを試してください..

$this->email->attach('/path/to/photo1.jpg');
$this->email->send();
于 2013-09-05T10:43:32.267 に答える