Учебники

CodeIgniter — Отправка электронной почты

Отправка электронной почты в 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 вашего сайта.