Отправить письмо в формате html в codeigniter

0

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

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? жаль, что я новичок в программировании обучения.

Теги:
codeigniter
email

2 ответа

1

здесь простой способ. шаг за шагом.
Сначала откройте файл database.php в папке application/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
}

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

-1

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

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню