Bikin Send email dengan CodeIgniter
Dalam CodeIgniter disediakan library yang mungkin akan sangat berguna dalam pembuatan web yang memerlukan interaksi dengan user seperti pendaftaran, pengiriman notifikasi ke user, dsb, yaitu library class Email.php
Tentu saja sebelum mulai, harus diinisialisasi dulu dengan
$this->load->library('email');
Sebelum bisa digunakan, kita harus menseting email preference yang akan dipakai. Sedikitnya ada 17 preference berbeda yang ada buat kamu yang bisa menentukan bagaimana email kamu dikirim. Kamu bisa menset preference itu secara manual dengan variable config atau juga secara otomatis dengan menyimpan settingnya di sebuah file.
Untuk mensetting secara manual, semua setting yang kamu perlukan kamu simpan di dalam satu variabel array $config dan kamu panggil dengan perintah initialize dari objek email. Seperti contoh di bawah ini :
$config['protocol'] = 'sendmail'; $config['mailpath'] = '/usr/sbin/sendmail'; $config['charset'] = 'iso-8859-1'; $config['wordwrap'] = TRUE; $this->email->initialize($config);
Namun jika ada nilai preference yang tidak kamu set, maka dia akan menggunakan nilai defaultnya.
Jika kamu lebih suka menaruh konfigurasi dalam satu tempat dan hanya tinggal dipanggil saat diperlukan, maka kamu bisa menyimpannya dalam file config. Hanya dengan buat file dengan nama email.php lalu isi dengan konfigurasi yang ada isi tadi. Kemudian simpan file itu di path application/config/email.php. Jika disimpan di file, maka konfigurasi akan dipanggil secara otomatis dan TIDAK perlu memakai fungsi
$this->email->initilize();
Sekarang langsung ke contoh fungsi. Berikut ini saya coba tulis semua metode pengiriman email dari library email.php
Pertama, dengan SMTP
function send_smtp()
{
$this->load->library('email');
$config['protocol'] = 'mail';
$config['smtp_host'] = 'smtp.gmail.com';
$config['smtp_port'] = 465;
$config['smtp_user'] = 'qorianku@gmail.com';
$config['smtp_pass'] = '1234567890';
$config['priority'] = 1;
$config['mailtype'] = 'text';
$config['charset'] = 'utf-8';
$config['wordwrap'] = TRUE;
$this->email->initialize($config);
$this->email->from('qorianku@gmail.com', 'Deka dari gmail');
$this->email->to('qorianku@yahoo.com.sg');
//$this->email->cc('deka@somemail.com');
//$this->email->bcc('them@their-example.com');
$this->email->subject('Email Test subject');
$this->email->message('Testing the email class CodeIgniter');
$this->email->send();
echo $this->email->print_debugger();
}
Kedua, dengan MAIL
function sendmail()
{
$this->load->library('email');
echo "testing sending email with mail method".
$config['protocol'] = 'mail';
$config['mailtype'] = 'text';
$config['charset'] = 'utf-8';
$config['wordwrap'] = TRUE;
$this->email->initialize($config);
$this->email->from('qorianku@gmail.com', 'Deka dari gmail');
$this->email->to('qorianku@yahoo.com.sg');
//$this->email->cc('xcho85@gmail.com');
//$this->email->bcc('them@their-example.com');
$this->email->subject('Email Test subject');
$this->email->message('Testing the email class CodeIgniter dengan mail');
$this->email->send();
echo $this->email->print_debugger();
}
Ketiga, dengan SENDMAIL
function sendsendmail()
{
$this->load->library('email');
echo "testing sending email with sendmail method".
$config['protocol'] = 'sendmail';
$config['mailtype'] = 'text';
$config['charset'] = 'utf-8';
$config['wordwrap'] = TRUE;
$this->email->initialize($config);
$this->email->from('qorianku@gmail.com', 'Deka dari gmail');
$this->email->to('qorianku@yahoo.com.sg');
//$this->email->cc('xcho85@gmail.com');
//$this->email->bcc('them@their-example.com');
$this->email->subject('Email Test subject');
$this->email->message('Testing the email class CodeIgniter dengan sendmail');
$this->email->send();
echo $this->email->print_debugger();
}
Ketiganya sudah saya coba dan berhasil, namun pada metode smtp aku alami rada susah, cuma berhasil pada kali pertama coba saja. selanjutnya gagal dengan error broken pipe.





