2014-11-06 6 views
0

Я хочу отправить электронное письмо от codeigniter, получив получателя из базы данных и сообщения в формате html с некоторыми данными из базы данных, например name. Это мой код контроллера.Отправить форму для отправки по электронной почте html в codeigniter

function send_email(){ 
    $config = array(
     'protocol' => 'smtp', 
     'smtp_host' => 'ssl://smtp.googlemail.com', 
     'smtp_port' => 465, 
     'smtp_user' => '[email protected]', 
     '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('[email protected]', '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? жаль, что я новичок в обучении программированию.

+2

Я надеюсь, что это не ваше настоящее имя пользователя и пароль. –

+0

Обычно вы должны делать функции в модели, чтобы получить строку, а затем вы вызываете эту функцию с контроллера. –

ответ

-1

Вот пример отправки электронной почты с электронной почтой библиотеки CodeIgniter, http://4rapiddev.com/php/codeigniter-send-email-via-smtp-charset-utf-8/ Вам нужно будет настроить собственный SMTP в примере.

+0

Он, похоже, знает, как отправить электронную почту. Он спрашивает, как получить значения из базы данных. Кроме того, здесь не поощряются ссылки только на ответы. Попытайтесь добавить код из ссылки в свой ответ, если ссылка не работает. –

1

это простой способ.ступенчатый шаг.
Сначала откройте database.php в приложение/Config/папку и заполнить этот

$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 
} 

надеюсь, что это поможет.

Смежные вопросы