CodeIgniter - E-posta Gönderme

CodeIgniter'da e-posta göndermek çok daha kolay. Ayrıca CodeIgniter'da e-posta ile ilgili tercihleri ​​yapılandırırsınız. CodeIgniter, e-posta göndermek için aşağıdaki özellikleri sağlar -

  • Çoklu Protokoller - Mail, Sendmail ve SMTP
  • SMTP için TLS ve SSL Şifreleme
  • Birden çok alıcı
  • CC ve BCC'ler
  • HTML veya Düz metin e-posta
  • Attachments
  • Kelime kaydırma
  • Priorities
  • BCC Toplu Modu, büyük e-posta listelerinin küçük BCC gruplarına bölünmesini sağlar.
  • E-posta Hata Ayıklama araçları

E-posta sınıfı, e-posta gönderme işini basitleştirmek için aşağıdaki işlevlere sahiptir.

SN Sözdizimi Parametreler Dönüş Dönüş Tipi
1 from ( $ from [, $ name = '' [, $ return_path = NULL ]])

$from( string ) - "Kimden" e-posta adresi

$name( string ) - "Kimden" görünen adı

$return_path( string ) - Teslim edilmeyen e-postayı yönlendirmek için isteğe bağlı e-posta adresi

CI_Email örneği (yöntem zinciri) CI_Email
2 yanıt_to ( $ yanıt [, $ isim = '' ])

$replyto( string ) - Cevaplar için e-posta adresi

$name( string ) - Yanıt e-posta adresi için görünen ad

CI_Email örneği (yöntem zinciri) CI_Email
2 to ( $ - )

$to( karışık ) - Virgülle ayrılmış dizge veya bir dizi e-posta adresi

CI_Email örneği (yöntem zinciri) CI_Email
3 cc (cc $ )

$cc( karışık ) - Virgülle ayrılmış dizge veya bir dizi e-posta adresi

CI_Email örneği (yöntem zinciri) CI_Email
4 bcc ( $ bcc [, $ limit = '' ])

$bcc( karışık ) - Virgülle ayrılmış dizge veya bir dizi e-posta adresi

$limit( int ) - Toplu iş başına gönderilecek maksimum e-posta sayısı

CI_Email örneği (yöntem zinciri) CI_Email
5 konu ( $ konu )

$subject( string ) - E-posta konu satırı

CI_Email örneği (yöntem zinciri) CI_Email
6 mesaj ( $ body )

$body( string ) - E-posta mesaj gövdesi

CI_Email örneği (yöntem zinciri) CI_Email
7 set_alt_message ( $ str )

$str( string ) - Alternatif e-posta mesajı gövdesi

CI_Email örneği (yöntem zinciri) CI_Email
8 set_header ( $ başlık, $ değer )

$header( string ) - Başlık adı

$value( string ) - Başlık değeri

CI_Email örneği (yöntem zinciri) CI_Email
9 temizle ([ $ clear_attachments = FALSE ])

$clear_attachments( bool ) - Eklerin temizlenip temizlenmemesi

CI_Email örneği (yöntem zinciri) CI_Email
10 gönder ([ $ auto_clear = TRUE ])

$auto_clear( bool ) - Mesaj verilerinin otomatik olarak temizlenip temizlenmeyeceği

CI_Email örneği (yöntem zinciri) CI_Email
11 ekle ($ dosyaadı [, $ dispozisyon = '' [, $ yeni ad = NULL [, $ mime = '']]])

$filename( string ) - Dosya adı

$disposition( string ) - ekin 'düzenlenmesi'. Çoğu e-posta istemcisi, burada kullanılan MIME belirtiminden bağımsız olarak kendi kararını verir. iana

$newname( string ) - E-postada kullanılacak özel dosya adı

$mime( string ) - Kullanılacak MIME türü (arabelleğe alınmış veriler için kullanışlıdır)

CI_Email örneği (yöntem zinciri) CI_Email
12 attachment_cid ( $ dosyaadı )

$filename( string ) - Mevcut ek dosya adı

Ek İçerik Kimliği veya Bulunmazsa FALSE dizi

Bir e-posta göndermek

CodeIgniter kullanarak bir e-posta göndermek için, önce aşağıdakileri kullanarak e-posta kitaplığını yüklemeniz gerekir -

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

Kitaplığı yükledikten sonra, bir e-posta göndermek için gerekli öğeleri ayarlamak için aşağıdaki işlevleri gerçekleştirmeniz yeterlidir. from() işlev ayarlamak için kullanılır - e-postanın nereden gönderildiği ve to()işlev kullanılır - e-postanın kime gönderildiği. subject() ve message() işlevi, e-postanın konusunu ve mesajını ayarlamak için kullanılır.

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

Bundan sonra, send() bir e-posta göndermek için aşağıda gösterildiği gibi işlev görür.

$this->email->send();

Misal

Bir denetleyici dosyası oluşturun Email_controller.php ve içine kaydet 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'); 
      } 
   } 
?>

Adlı bir görünüm dosyası oluşturun email_form.php ve kaydet 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>

Değişiklikleri yapın routes.php dosyasında application/config/routes.php ve dosyanın sonuna aşağıdaki satırı ekleyin.

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

Aşağıdaki bağlantıyı ziyaret ederek yukarıdaki örneği yürütün. Siteniz.com'u sitenizin URL'si ile değiştirin.

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