CodeIgniter - wysyłanie wiadomości e-mail

Wysyłanie wiadomości e-mail w CodeIgniter jest znacznie łatwiejsze. Możesz także skonfigurować preferencje dotyczące poczty elektronicznej w CodeIgniter. CodeIgniter zapewnia następujące funkcje do wysyłania wiadomości e-mail -

  • Wiele protokołów - poczta, Sendmail i SMTP
  • Szyfrowanie TLS i SSL dla SMTP
  • Wielu odbiorców
  • CC i BCC
  • E-mail w formacie HTML lub Plaintext
  • Attachments
  • Zawijanie słów
  • Priorities
  • BCC Batch Mode, umożliwiający podzielenie dużych list e-mailowych na małe partie BCC.
  • Narzędzia do debugowania poczty e-mail

Klasa poczty e-mail ma następujące funkcje, aby uprościć zadanie wysyłania wiadomości e-mail.

SN Składnia Parametry Powrót Typ zwrotu
1 from ( $ from [, $ name = '' [, $ return_path = NULL ]])

$from( string ) - adres e-mail „Od”

$name( string ) - nazwa wyświetlana „Od”

$return_path( string ) - Opcjonalny adres e-mail, na który ma być przekierowywana niedostarczona poczta

Instancja CI_Email (łączenie metod) CI_Email
2 Reply_to ( $ replyto [, $ name = '' ])

$replyto( string ) - adres e-mail do odpowiedzi

$name( string ) - Nazwa wyświetlana dla adresu zwrotnego

Instancja CI_Email (łączenie metod) CI_Email
2 do ( $ do )

$to( mieszane ) - ciąg rozdzielany przecinkami lub tablica adresów e-mail

Instancja CI_Email (łączenie metod) CI_Email
3 cc ( $ cc )

$cc( mieszane ) - ciąg rozdzielany przecinkami lub tablica adresów e-mail

Instancja CI_Email (łączenie metod) CI_Email
4 bcc ( $ bcc [, $ limit = '' ])

$bcc( mieszane ) - ciąg rozdzielany przecinkami lub tablica adresów e-mail

$limit( int ) - Maksymalna liczba e-maili do wysłania na paczkę

Instancja CI_Email (łączenie metod) CI_Email
5 temat ( $ subject )

$subject( string ) - wiersz tematu wiadomości e-mail

Instancja CI_Email (łączenie metod) CI_Email
6 wiadomość ( $ body )

$body( string ) - treść wiadomości e-mail

Instancja CI_Email (łączenie metod) CI_Email
7 set_alt_message ( $ str )

$str( string ) - alternatywna treść wiadomości e-mail

Instancja CI_Email (łączenie metod) CI_Email
8 set_header ( nagłówek $, wartość $ )

$header( string ) - nazwa nagłówka

$value( string ) - wartość nagłówka

Instancja CI_Email (łączenie metod) CI_Email
9 wyczyść ([ $ clear_attachments = FALSE ])

$clear_attachments( bool ) - czy usuwać załączniki

Instancja CI_Email (łączenie metod) CI_Email
10 wyślij ([ $ auto_clear = TRUE ])

$auto_clear( bool ) - czy automatycznie czyścić dane wiadomości

Instancja CI_Email (łączenie metod) CI_Email
11 załącz ($ filename [, $ disposition = '' [, $ newname = NULL [, $ mime = '']]])

$filename( string ) - nazwa pliku

$disposition( string ) - „dyspozycja” załącznika. Większość klientów poczty e-mail podejmuje własne decyzje niezależnie od zastosowanej tutaj specyfikacji MIME. Iana

$newname( string ) - niestandardowa nazwa pliku do użycia w wiadomości e-mail

$mime( string ) - typ MIME do użycia (przydatne w przypadku danych buforowanych)

Instancja CI_Email (łączenie metod) CI_Email
12 załącznik_cid ( $ filename )

$filename( string ) - nazwa istniejącego pliku załącznika

Załącznik Content-ID lub FALSE, jeśli nie zostanie znaleziony strunowy

Wysyłanie wiadomości e-mail

Aby wysłać wiadomość e-mail za pomocą CodeIgniter, najpierw musisz załadować bibliotekę poczty e-mail za pomocą następującego -

$this->load->library('email');

Po załadowaniu biblioteki po prostu wykonaj następujące funkcje, aby ustawić niezbędne elementy do wysłania wiadomości e-mail. Plikfrom() służy do ustawiania - skąd wysyłana jest wiadomość e-mail oraz to()używana jest funkcja - do kogo wysyłany jest email. Pliksubject() i message() Funkcja służy do ustawienia tematu i treści wiadomości e-mail.

$this->email->from('[email protected]', 'Your Name');
$this->email->to('[email protected]');
 
$this->email->subject('Email Test');
$this->email->message('Testing the email class.');

Następnie wykonaj send() jak pokazano poniżej, aby wysłać wiadomość e-mail.

$this->email->send();

Przykład

Utwórz plik kontrolera Email_controller.php i zapisz go w 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'); 
      } 
   } 
?>

Utwórz plik widoku o nazwie email_form.php i zapisz go w 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>

Wprowadź zmiany w routes.php plik w application/config/routes.php i dodaj następujący wiersz na końcu pliku.

$route['email'] = 'Email_Controller';

Wykonaj powyższy przykład, odwiedzając poniższy link. Zastąp twojawitryna.com adresem URL swojej witryny.

http://yoursite.com/index.php/email