Bu yazıda, SMTP kullanarak bir CodeIgniter uygulamasında e-postaların nasıl gönderileceğini açıkladık.
CodeIgniter’ın E-posta Sınıfını Yüklemek İle Başlayalım
İlk olarak, CodeIgniter’ın e-posta kütüphanesini aşağıdaki kod parçacığını kullanarak yükleyin :
$this->load->library('email');
E-posta Parametlerini Ayarlalayalım :
Özel e-posta için gerekli alanları ayarlamak gerekir. Bu alanlar aşağıdakiler de dahil olmak üzere çeşitli işlevlerle ayarlanabilir: from () işlevi iki parametre alır - gönderenin e-posta adresi ve ad. to () işlevi, alıcının e-posta adresini alır.
Sonraki iki işlev, CodeIgniter'da e-posta gönderme gereksinimlerini toplayan subject () ve message () 'dir.
$this->email->from('email@example.com');
$this->email->to('gidenkisi@example.com');
$this->email->subject('başlık');
$this->email->message('mesaj');
Bu işlevler doldurulduktan sonra, son adım send () işlevini kullanarak e-postayı göndermektir.
Controller Oluşturalım :
Bir Controller dosyası Email_controller.php oluşturun ve onu / controller / uygulamasına kaydedin. Bu dosyaya aşağıdaki kodu ekleyin:
<?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('contact_email_form');
}
public function send_mail() {
$from_email = "email@example.com";
$to_email = $this->input->post('email');
//email kütüphanesi yükle
$this->load->library('email');
$this->email->from($from_email, 'Identification');
$this->email->to($to_email);
$this->email->subject('Send Email Codeigniter');
$this->email->message('The email send using codeigniter library');
//mail gönder
if($this->email->send())
$this->session->set_flashdata("email_sent","Congragulation Email Send Successfully.");
else
$this->session->set_flashdata("email_sent","You have encountered an error");
$this->load->view('contact_email_form');
}
}
?>
View Oluşturalım :
Contact_email_form.php adlı bir görünüm dosyası oluşturun ve bunu uygulama / görünümler / içine kaydedin. Aşağıdaki kodu ona ekleyin:
<html>
<head>
<title> Send Email Codeigniter </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>
Routes.php dosyasındaki değişiklikleri application / config / routes.php dosyasında yapın ve dosyanın sonuna aşağıdaki satırı ekleyin:
$route['email'] = 'Sendingemail_Controller';
SMTP Yapılandırmasını Ayarlama
Daha önce de belirtildiği gibi, CodeIgniter, basit yapılandırma seçenekleriyle SMTP dahil olmak üzere farklı e-posta protokollerini tamamen destekler.
Aşağıdaki kod parçasından görebileceğiniz gibi, e-posta protokolünü seçmek, tek bir yapılandırma değişkeni ayarlama meselesidir. Bu kod parçasında, SMTP protokolünü kullanmak için $ config [‘protocol’] smtp’ye ayarladım.
<?php
$this->load->library('email');
$config = array();
$config['protocol'] = 'smtp';
$config['smtp_host'] = 'xxx';
$config['smtp_user'] = 'xxx';
$config['smtp_pass'] = 'xxx';
$config['smtp_port'] = 25;
$this->email->initialize($config);
$this->email->set_newline("\r\n");
Bol şans..
Yorum Yap
Saim Öztürk
2019-12-07 22:11:23Oğuzhan İNAN
2020-07-07 23:16:56