我想从codeigniter发送电子邮件,方法是从数据库获取收件人,并使用html格式的邮件和一些数据库中的数据(例如名称)。这是我的控制器代码。
function send_email(){
$config = array(
'protocol' => 'smtp',
'smtp_host' => 'ssl://smtp.googlemail.com',
'smtp_port' => 465,
'smtp_user' => 'shin@gmail.com',
'smtp_pass' => '2341',
'mailtype' => 'html',
'charset' => 'iso-8859-1',
'wordwrap' => TRUE
);
$message = '
<html>
<head>
<title>Packet</title>
</head>
<body>
<p>you have book this</p>
<table>
<tr>
<td>ID Booking</td>
<td>'.$id_booking.'</td>
</tr>
<tr>
<td>Price</td>
<td>'.$price'</td>
</tr>
<tr>
<td>Name</td>
<td>'.$name.'</td>
</tr>
</table>
</body>
</html>
';
$this->load->library('email', $config);
$this->email->set_newline("\r\n");
$this->email->set_mailtype("html");
$this->email->from('shin@gmail.com', 'Shin');
$this->email->to($user);
$this->email->subject($subject);
$this->email->message($message);
if($this->email->send())
{
echo 'Email sent.';
}
else
{
show_error($this->email->print_debugger());
}
}
我的数据库包含id_booking,价格,名称,电子邮件的预订表。 所以问题是我不知道如何从数据库获取用户电子邮件并获得$ id_booking,$ price和$ name?抱歉,我是学习编程的新手..
答案 0 :(得分:1)
这里是简单的way.step by step。
首先在application / config /文件夹中打开database.php并填写此
$active_group = 'default';
$active_record = TRUE;
$db['default']['hostname'] = 'your database hostname';
$db['default']['username'] = 'your database username';
$db['default']['password'] = 'your database password';
$db['default']['database'] = 'your database name';
$db['default']['dbdriver'] = 'mysql';//or your dbdriver
如果您需要此文件,可以设置其他字段。
第二步:在模型文件夹中创建一个文件mymodel.php。并写下这些代码
<?php
class Mymodel extends CI_Model
{
public function __construct()
{
parent::__construct();
$this->load->database();
}
public function getUser()
{
$this->db->from("your table name");
$this->db->select("email,id_booking,price,name ");
$users=$this->db->get()->result();
return $users;
}
}
您可以使用不同的名称创建自己的模型 第三个在控制器功能中调用此模型函数
function send_email()
{
$this->load->model("mymodel");
$users=$this->mymodel->getUser();
//now you will get all users here as object.
//your rest of the code here
}
希望这会对你有所帮助。
答案 1 :(得分:-1)
以下是使用CodeIgniter电子邮件库http://4rapiddev.com/php/codeigniter-send-email-via-smtp-charset-utf-8/发送电子邮件的示例 您需要在示例中配置自己的SMTP。