MENGIRIM EMAIL DI CODEIGNITER 2.1.3 MENGGUNAKAN AKUN GMAIL

sending email at codeigniter using gmail account Mengirimkan email menggunakan Codeigniter php framework merupakan hal yang simpel, kalau sudah tau sihh. Sebelumnya saya juga sempat pusing mikirin setting, mengirimkan email di Codeigniter yang versi 2. Untuk setting yang selain Gmail sobat bisa pakai setingan seperti di bawah ini.

$config['smtp_host'] = 'mail.isp_kamu.com';
$config['smtp_user'] = 'me@isp_kamu.com';
$config['smtp_pass'] = 'password';
$config['smpt_port'] = '25';
$config['protocol']  = 'smtp';
//note : isp_kamu adalah ISP anda contoh seperti speedy, smart atau yang lainnya

tapi untuk fokus saya kali ini mengirimkan email menggunakan akun gmail. Ada 3 cara dalam mensetting pengiriman lewat akun gmail. Pertama sobat bisa merubah pengaturan library email.php dalam folder system/libraries/. Kedua sobat bisa langsung menuliskan setting email di controller sobat.
Ketiga (yang akan dipraktekan di sini)

Step 1 sobat membuat file bernama email.php dalam folder application/config/ dan diisi dengan konfigurasi pengiriman email lewat akun gmail anda, sebagai berikut :
<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');  
/* 
| ------------------------------------------------------------------- 
| EMAIL CONFIG 
| ------------------------------------------------------------------- 
| Konfigurasi email keluar melalui mail server
| */   
$config['protocol']='smtp';  
$config['smtp_host']='ssl://smtp.googlemail.com';  
$config['smtp_port']='465';  
$config['smtp_timeout']='30';  
$config['smtp_user']='alamat_email_gmail_sobat';  
$config['smtp_pass']='Passwor_akun_gmail_sobat';  
$config['charset']='utf-8';  
$config['newline']="\r\n";  
  
/* End of file email.php */  
/* Location: ./system/application/config/email.php */

Pastikan untuk merubah alamat akun gmail dan password nya.

Step 2 : Membuat Controller
Anggap sobat sudah punya controller atau taruh aja skrip di bawah dalam controller default yaitu welcome.php
// mengirimkan email  
$this->load->library('email');  
$this->email->from('alamat_email_kamu@gmail.com','Nama Pengirim');  
$this->email->to("something@someaddress.com");  //diisi dengan alamat tujuan
$this->email->subject('A test email from CodeIgniter using Gmail');  
$this->email->message("I can now email from CodeIgniter using Gmail as my server!");  
$this->email->send();

Note : Kemungkinan error -"Unable to find the socket transport “ssl” - did you forget to enable it when you configured PHP?"
Jika kamu mendapatkan error seperti diatas, itu karena sobat belum mengatur enable SSL di PHP config.
Solusinya. Buka file php.ini temukan baris berikut:

;extension=php_openssl.dll

Hapus tanda ";" kemudian restart apache sobat. dan semoga bisa berjalan dengan lancar.
Sekian.. Saya harap artikel ini bisa berguna bagi sobat yang membutuhkan.

24 comments:

  1. joss.. mantep, makasih ya postingan nya

    ReplyDelete
  2. mantap nih gan....tp bantu naikin rating web saya yg sederhana ini donk mas...

    http://warungtanaman.com/index.php?page=green

    ReplyDelete
    Replies
    1. ya contentnya aja di perbaiki, gimana??

      Delete
  3. Permisi Pak Darul, saya mohon izin tanya.
    Ada kasus begini '
    Setiap user yang mendaftar, akan dikirimi data lengkap yang baru diinput, tapi dikirim melalui e-mail pendaftar.

    Itu bagaimana dengan penerapannya disini, Pak
    Terima kasih

    ReplyDelete
    Replies
    1. agak panjang dikit tu kodingnya...
      ya buat lagi function di controler welcome.php diatas dengan nama index()
      nah di situ dibuat view form-form untuk data lengkap user.
      setelah itu submit nya diarahkan ke kontroler welcome tadi di function email..
      di $this->email->message diisi dengan tangkapan post dari form tadi..
      ok..??

      Delete
  4. Gimana caranya supaya tidak masuk spam?

    ReplyDelete
    Replies
    1. wah belum tau gan...
      kalau sudah tau, kasih tau balik ya....

      Delete
  5. makasih gan , udah 1 setengah hari ane pusing bikin send email di codeigniter.

    kalo bikin form viewnya gmn gan ??

    ReplyDelete
  6. makasih gan , udah 1 setengah hari ane pusing bikin send email di codeigniter.

    kalo bikin form viewnya gmn gan ??

    ReplyDelete
    Replies
    1. artikel ini aja gan dibaca
      http://starzoneku.blogspot.com/2013/04/membuat-pendaftaran-newsletter-di.html

      Delete
  7. om, ini supaya bekerja sesuai dengan harapan apa harus di upload ke hosting dulu?
    ato di localhost aja bisa?
    kok saya coba di localhost email nya nggak terkirim ya?

    ReplyDelete
    Replies
    1. di localhost, tapi kalu mo nyoba ya harus ada koneksi internet dulu sob

      Delete
  8. terimakasih gan sangat membantu

    ReplyDelete
  9. makasih mas ..infonya bantu banget buat kerja tugas hehehe

    Sedekah
    Makassar
    Tas Kulit

    ReplyDelete
  10. Terima kasih, Mas. Tutorialnya membantu banget. Aku udah coba dari pagi, tapi gagal terus. CUma karna ga restart apache, sepele tapi berpengaruh. Oh iya, mas. Aku masih pake googlemail untuk host dllnya. Kalau aku mau pake hostku sendiri, misalnya emailku nana@belanja.com, berarti hostnya mail.belanja.com gitu ya mas? Terima kasih, Mas.

    ReplyDelete
  11. Misi kang,, Numpang nanya,, untuk settingan php.ini nya letaknya dmn ya?

    ReplyDelete
  12. gan....knp di file php.ini saya ga ada ;extension=php_openssl.dll ...xampp saya versi 1.7.7

    ReplyDelete
  13. kalo udah di hosting, kok ga bisa yah jadi nya ?

    ReplyDelete
  14. Pak mau nanya. bisa ga membuat Voting Buttons, di fitur nya outlook kan ada tuh. kebanyakan nyari, dapet nya cuma buat send email aja.
    Kalo bisa, caranya gimana?

    ReplyDelete
  15. Failed to authenticate password. Error: 535-5.7.8 Username and Password not accepted. Learn more at 535 5.7.8 https://support.google.com/mail/answer/14257 e67sm134091439pfj.53 - gsmtp
    Unable to send email using PHP SMTP. Your server might not be configured to send mail using this method.

    ini errornya apa ya gan ?

    ReplyDelete
  16. saya gk ada email masuk bro,,,apa karena tes dilocalhost?

    ReplyDelete