如何在电子邮件中发送数组(CodeIgniter)

时间:2013-07-20 13:55:22

标签: php codeigniter email

我想知道如何在电子邮件中发送数组。我正在使用预标签在网页中对其进行格式化。但我无法在电子邮件中发送任何数据。这是我使用的控制器:

  <?php 


    class Notification extends CI_Controller {


    public function index()
        {


            $this->db->select('product_name,project_code'); 
     $this->db->from('user');
     $this->db->like('product_name', 'Test');   



     $array = $this->db->get()->result();
     $size = count($array); 

     echo 'The number of test are: ';
     echo $size;  
       echo '    ';
    echo "<pre>";
     print_r($array);
     echo "</pre>";

     $config = Array(
                  'protocol' => 'smtp',
                  'smtp_host' => 'ssl://smtp.googlemail.com',
                  'smtp_port' => 465,
                  'smtp_user' => 'Email',
                  'smtp_pass' => 'Password',
                  'mailtype'  => 'text', 
                  'charset'   => 'iso-8859-1'
                                  );
                    $this->load->library('email', $config);
                    $this->email->set_newline("\r\n");

                    // Set to, from, message, etc.
                     $this->email->from('sender', 'Name');
            $this->email->to('reciever'); 

            $this->email->subject(' Test Updates');

            $this->email->message($array);



               $result = $this->email->send(); 

    }




}

?>

我想在电子邮件中发送数组$ array,其格式类似于pre标签。 [注意:我已经删除了电子邮件详细信息。其他电子邮件功能按预期工作]

3 个答案:

答案 0 :(得分:3)

我不认为message方法将数组作为参数。尝试

$this->email->message(print_r($array, true));

答案 1 :(得分:0)

作为您或其他任何阅读此主题的人的替代选择。

您还可以为电子邮件创建视图文件,将数组作为数据传递。

在您的控制器中:

$data['my_array'] = $array;
$this->email->message($this->load->view('my_email', $data, TRUE));

my_email.php 视图中:

<pre><?php print_r($my_array);?></pre>

答案 2 :(得分:0)

您是否定义了电子邮件接收器?喜欢you@gmail.com  确定您可以使用的问题

echo $this->email->print_debugger();