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