Tutorial Codeigniter : Mengirim email menggunakan gmail

20. August 2014 - 9:24 sugeng

Pada saat pendaftaran user atau lupa password, beberapa aplikasi kadangkala memerlukan notifikasi berupa email. Untuk mengirimkan email menggunakan codeigniter, yang perlu dilakukan adalah membuat sebuah fungsi pada controller. Hal-hal yang perlu diperhatikan adalah :

  • smtp_host : server smtp, pastikan alamat yang ditulis tersebut dapat diakses
  • smtp_port : port ssl pada gmail adalah 465
  • dan yang paling penting adalah : newline harus diisi dengan “\r\n” tanpa opsi ini maka email tidak dapat dikirim menggunakan gmail

Perintah selengkapnya adalah sebagai berikut :

public function send_email() {
   $this->load->library('email');
   $this->email->initialize(array(
         'protocol' => 'smtp',
         'smtp_host' => 'ssl://smtp.gmail.com',
         'smtp_user' => 'nama-email@stiki.ac.id',
         'smtp_pass' => 'password-email',
         'smtp_port' => 465,
         'mailtype' => 'text',
         'newline' => "\r\n" // kode yang harus di tulis pada konfigurasi controler email
   ));

   $from = 'nama-email@stiki.ac.id';
   $nama = 'namanya';
   $to = 'email@tujuan.com';
   $subject = 'judul emailnya';
   $message = 'isi berita dari email';
   
   $this->email->from($from, $nama )
               ->to($to)
               ->subject($subject)
               ->message($message);

   if ($this->email->send()) {
      $this->session->set_flashdata('success', 'Email berhasil dikirim.');
      redirect(current_url());
   } else {
      show_error($this->email->print_debugger());
   }
 }

Jangan lupa untuk mengaktifkan ssl pada php.ini, caranya dengan menghilangkan tanda titik koma pada baris extension=php_openssl.dll. Kemudian restart apache.

kemudian pastikan settingan pada halaman ini bernilai on. (https://www.google.com/settings/security/lesssecureapps)

Berikut ini saya dapatkan sedikit petunjuk untuk melakukan konfigurasi mail server mercury https://www.zoe.vc/2008/configure-mercury-mail-for-external-mail/