Mengirim email dengan library CodeIgniter

CodeIgniter sebanarnya telah menyediakan fitur (library) untuk mengirim email, sehingga tanpa tambahan apapun kita dapat mengirim email dengan library CodeIgniter.

Pada tutorial ini saya akan berikan contoh bagaimana membuat sebuah fungsi untuk mengirim email dengan layanan Google (gmail). Sebelum memulai sebaiknya anda telah memiliki “peralatan tempur”.

Persiapan mengirim email dengan CodeIgniter

  • Instalasi CodeIgniter pada localhost atau server yang telah berjalan
  • Pengetahuan/pemahaman konsep MVC pada CodeIgniter
  • Akun gmail yang telah diaktifkan fitur less secure app, untuk tutorialnya bisa anda lihat disini

Contoh kasusnya adalah ketika user melakukan registrasi pada form maka aplikasi akan mengirim email verifikasi otomatis.
Berikut adalah contoh potongan kode untuk mengirim email pada Controller CodeIgniter file controller/Users.php

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
public function register(){
    //pengaturan email
    $this->load->library('email');//panggil library email codeigniter
    $config = array(
        'protocol' => 'smtp',
        'smtp_host' => 'ssl://smtp.googlemail.com',
        'smtp_port' => 465,
        'smtp_user' => 'emailku@gmail.com',//alamat email gmail
        'smtp_pass' => '************',//password email 
        'mailtype' => 'html',
        'charset' => 'iso-8859-1',
        'wordwrap' => TRUE
    );
    $message = "Hello World, this is test email by codeigniter";//ini adalah isi/body email
    $email = 'penerima@gmail.com';//email penerima

    $this->email->initialize($config);
    $this->email->set_newline("\r\n");
    $this->email->from($config['smtp_user']);
    $this->email->to($email);
    $this->email->subject('Email verifikasi');//subjek email
    $this->email->message($message);
    
    //proses kirim email
    if($this->email->send()){
        $this->session->set_flashdata('message','Sukses kirim email');
    }
    else{
        $this->session->set_flashdata('message', $this->email->print_debugger());
    }
}

Penjelasan

  • Baris 6-15 adalah pengaturan email (protokol, port, user, password)
  • Baris 16 adalah isi dari body email, anda dapat menambahkan variabel atau konten dinamis lainnya
  • Baris 17 adalah alamt email penerima, jika ingin mengirim email ke banyak penerima anda bisa menggunakan fungsi pengulangan pada PHP
  • Baris 23 adalah subjek email
  • Baris 27-32 berfungsi untuk mengecek pengiriman email apakah sukses atau gagal, jika gagal error akan ditampilkan.

Kesimpulan

Dengan library bawaan CodeIgniter kita dapat mengirim email dengan mudah dan konfigurasi yang minimalis. Anda dapat mengirim banyak email ke banyak penerima dengan mengkombinasikan fungsi pengulangan pada PHP. Anda dapat memanfaatkan layanan smtp gratis dengan akun google, layanan gratis ini tentunya memiliki keterbatasan.

This Post Has One Comment

Leave a Reply

Close Menu