我想知道如何在电子邮件中发送数组。我正在使用预标签在网页中对其进行格式化。但我无法在电子邮件中发送任何数据。这是我使用的控制器:
<?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标签。 [注意:我已经删除了电子邮件详细信息。其他电子邮件功能按预期工作]
答案 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();