Отправка электронной почты в CodeIgniter намного проще. Вы также настраиваете параметры электронной почты в CodeIgniter. CodeIgniter предоставляет следующие функции для отправки электронных писем —
- Несколько протоколов — почта, Sendmail и SMTP
- Шифрование TLS и SSL для SMTP
- Несколько получателей
- ЦК и ОЦК
- HTML или обычный текст электронной почты
- Вложения
- Перенос слов
- приоритеты
- Пакетный режим BCC, позволяющий разбивать большие списки адресов электронной почты на небольшие пакеты BCC.
- Инструменты отладки электронной почты
Класс электронной почты имеет следующие функции для упрощения работы по отправке электронной почты.
SN | Синтаксис | параметры | Вернуть | Тип возврата |
---|---|---|---|---|
1 | from ( $ from [, $ name = » [, $ return_path = NULL ]]) |
$ from ( строка ) — адрес электронной почты «От» $ name ( строка ) — отображаемое имя «От» $ return_path ( строка ) — необязательный адрес электронной почты для перенаправления недоставленной электронной почты на |
Экземпляр CI_Email (цепочка методов) | CI_Email |
2 | reply_to ( $ replyto [, $ name = » ]) |
$ replyto ( строка ) — адрес электронной почты для ответов $ name ( string ) — отображаемое имя для адреса электронной почты для ответа |
Экземпляр CI_Email (цепочка методов) | CI_Email |
2 | к ( $ к ) |
$ to ( mixed ) — строка с разделителями-запятыми или массив адресов электронной почты |
Экземпляр CI_Email (цепочка методов) | CI_Email |
3 | куб. см ( $ куб. см ) |
$ cc ( mixed ) — строка с разделителями-запятыми или массив адресов электронной почты |
Экземпляр CI_Email (цепочка методов) | CI_Email |
4 | bcc ( $ bcc [, $ limit = » ]) |
$ bcc ( mixed ) — строка с разделителями-запятыми или массив адресов электронной почты $ limit ( int ) — Максимальное количество сообщений электронной почты, отправляемых за пакет |
Экземпляр CI_Email (цепочка методов) | CI_Email |
5 | предмет ( $ subject ) |
$ subject ( строка ) — строка темы электронного письма |
Экземпляр CI_Email (цепочка методов) | CI_Email |
6 | сообщение ( $ body ) |
$ body ( string ) — тело сообщения электронной почты |
Экземпляр CI_Email (цепочка методов) | CI_Email |
7 | set_alt_message ( $ str ) |
$ str ( строка ) — альтернативное тело сообщения электронной почты |
Экземпляр CI_Email (цепочка методов) | CI_Email |
8 | set_header ( $ header, $ value ) |
$ header ( string ) — Имя заголовка $ value ( string ) — значение заголовка |
Экземпляр CI_Email (цепочка методов) | CI_Email |
9 | очистить ([ $ clear_attachments = FALSE ]) |
$ clear_attachments ( bool ) — очищать вложения или нет |
Экземпляр CI_Email (цепочка методов) | CI_Email |
10 | отправить ([ $ auto_clear = TRUE ]) |
$ auto_clear ( bool ) — автоматически очищать данные сообщения |
Экземпляр CI_Email (цепочка методов) | CI_Email |
11 | attach ($ filename [, $ disposition = » [, $ newname = NULL [, $ mime = »]]]) |
$ filename ( string ) — Имя файла $ disposition ( строка ) — ‘расположение’ вложения. Большинство почтовых клиентов принимают свое решение независимо от используемой здесь спецификации MIME. IANA $ newname ( string ) — Пользовательское имя файла для использования в электронной почте $ mime ( string ) — тип MIME для использования (полезно для буферизованных данных) |
Экземпляр CI_Email (цепочка методов) | CI_Email |
12 | attachment_cid ( $ filename ) |
$ filename ( string ) — существующее имя файла вложения |
Вложение Content-ID или FALSE, если не найдено | строка |
$ from ( строка ) — адрес электронной почты «От»
$ name ( строка ) — отображаемое имя «От»
$ return_path ( строка ) — необязательный адрес электронной почты для перенаправления недоставленной электронной почты на
$ replyto ( строка ) — адрес электронной почты для ответов
$ name ( string ) — отображаемое имя для адреса электронной почты для ответа
$ to ( mixed ) — строка с разделителями-запятыми или массив адресов электронной почты
$ cc ( mixed ) — строка с разделителями-запятыми или массив адресов электронной почты
$ bcc ( mixed ) — строка с разделителями-запятыми или массив адресов электронной почты
$ limit ( int ) — Максимальное количество сообщений электронной почты, отправляемых за пакет
$ subject ( строка ) — строка темы электронного письма
$ body ( string ) — тело сообщения электронной почты
$ str ( строка ) — альтернативное тело сообщения электронной почты
$ header ( string ) — Имя заголовка
$ value ( string ) — значение заголовка
$ clear_attachments ( bool ) — очищать вложения или нет
$ auto_clear ( bool ) — автоматически очищать данные сообщения
$ filename ( string ) — Имя файла
$ disposition ( строка ) — ‘расположение’ вложения. Большинство почтовых клиентов принимают свое решение независимо от используемой здесь спецификации MIME. IANA
$ newname ( string ) — Пользовательское имя файла для использования в электронной почте
$ mime ( string ) — тип MIME для использования (полезно для буферизованных данных)
$ filename ( string ) — существующее имя файла вложения
Отправка электронной почты
Чтобы отправить электронное письмо с использованием CodeIgniter, сначала вы должны загрузить библиотеку электронной почты, используя следующее:
$this->load->library('email');
После загрузки библиотеки просто выполните следующие функции, чтобы установить необходимые элементы для отправки электронного письма. Функция from () используется для указания — откуда отправляется электронная почта и для функции () — кому отправляется электронная почта. Функция subject () и message () используется для установки темы и сообщения электронной почты.
$this->email->from('[email protected]', 'Your Name'); $this->email->to('[email protected]'); $this->email->subject('Email Test'); $this->email->message('Testing the email class.');
После этого выполните функцию send (), как показано ниже, чтобы отправить электронное письмо.
$this->email->send();
пример
Создайте файл контроллера Email_controller.php и сохраните его в application / controller / Email_controller.php .
<?php class Email_controller extends CI_Controller { function __construct() { parent::__construct(); $this->load->library('session'); $this->load->helper('form'); } public function index() { $this->load->helper('form'); $this->load->view('email_form'); } public function send_mail() { $from_email = "[email protected]"; $to_email = $this->input->post('email'); //Load email library $this->load->library('email'); $this->email->from($from_email, 'Your Name'); $this->email->to($to_email); $this->email->subject('Email Test'); $this->email->message('Testing the email class.'); //Send mail if($this->email->send()) $this->session->set_flashdata("email_sent","Email sent successfully."); else $this->session->set_flashdata("email_sent","Error in sending Email."); $this->load->view('email_form'); } } ?>
Создайте файл представления с именем email_form.php и сохраните его в application / views / email_form.php
<!DOCTYPE html> <html lang = "en"> <head> <meta charset = "utf-8"> <title>CodeIgniter Email Example</title> </head> <body> <?php echo $this->session->flashdata('email_sent'); echo form_open('/Email_controller/send_mail'); ?> <input type = "email" name = "email" required /> <input type = "submit" value = "SEND MAIL"> <?php echo form_close(); ?> </body> </html>
Внесите изменения в файл rout.php в application / config / rout.php и добавьте следующую строку в конец файла.
$route['email'] = 'Email_Controller';
Выполните приведенный выше пример, перейдя по следующей ссылке. Замените yoursite.com на URL вашего сайта.