Отправка электронной почты в 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('your@example.com', 'Your Name');
$this->email->to('someone@example.com');
$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 = "your@example.com";
$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 вашего сайта.