Skip to main content
email-di-codeigniter-gambar1

Email di Codeigniter dengan SMTP2GO

Pengaturan Email di Codeigniter dengan SMTP2GO –  sebelumnya saya pernah membuat tutorial untuk mengirimkan email dengan codeigniter dan mailgun, dan pada tutorial kali ini saya ingin membahas bagaimana melakukan pengaturan untuk mengirimkan email dengan menggunakan API dari SMTP2GO di framework Codeigniter.

BACA:

Apa itu SMTP2GO

SMTP2GO.com adalah layanan yang menyediakan jasa untuk pengiriman email , dimana ini dibutuhkan ketika anda memerlukan pengiriman email yang cepat dan 99% masuk ke inbox. Dan biasanya digunakan untuk mengirimkan email seperti email verifikasi saat proses registrasi, verifikasi saat lupa password, dan lainnya. Email sepenting ini jika mengandalkan pengiriman dengan smtp dari shared hosting yang kita miliki, akan berpotensi delay atau bahkan beresiko masuk ke folder spam di email tujuan. Oleh sebab itu kita perlu menggunakan alternatif layanan pengiriman email yaitu dengan SMTP2GO. Dan sebagai informasi, setiap mendaftar di SMTP2GO anda mendapatkan gratis 1000 pengiriman email setiap bulannya, yang akan direset di awal bulan. Hal ini tentunya sangat bermanfaat jika anda ingin melakukan pengetesan atau mengembangkan sistem pengiriman email yang terintegrasi dengan SMTP2GO. Ada 2 pengaturan yang dapat anda pilih, yaitu :

  • Pengiriman dengan metode pengaturan smtp dengan memasukkan username, password dan port dari smtp2go saat mengirimkan email.
  • Pengiriman email dengan metode API key, yaitu dengan curl menggunakan API yang diperoleh dari SMTP2GO, dan pada tutorial kali ini kita akan menggunakan cara ini.

Panduan Mengirimkan Email dengan Codeigniter dan SMTP2GO

1. Silahkan anda mendaftar di SMTP2GO.com  dan login ke dalam akun anda, dan pilih menu settings/API Keys dan buat API key baru.

email-di-codeigniter-gambar2

2. Selanjutnya buka project codeigniter anda, disini saya menggunakan controller yang sudah ada yaitu Welcome.php dan tuliskan kode dibawah ini. Dan jangan lupa masukkan api yang anda buat ke dalam code seperti gambar berikut:

<pre><?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Welcome extends CI_Controller {

   /**
    * Index Page for this controller.
    *
    * Maps to the following URL
    *        http://example.com/index.php/welcome
    * - or -
    *        http://example.com/index.php/welcome/index
    * - or -
    * Since this controller is set as the default controller in
    * config/routes.php, it's displayed at http://example.com/
    *
    * So any other public methods not prefixed with an underscore will
    * map to /index.php/welcome/<method_name>
    * @see https://codeigniter.com/user_guide/general/urls.html
    */
   public function index()
   {
      $api_key = "MASUKKAN API DARI SMTP2GO";
      $pengirim = "support@adrihost.com";
      $tujuan = "alexistdev@gmail.com";
      $subyek = "Berhasil Mengirimkan Email";
      $pesan = "
               Ini email dikirimkan dengan codeigniter<br><br>
               Regards<br>
               Admin
      ";
      $this->_apiSMTP2go($pengirim,$tujuan,$subyek,$pesan,$api_key);
      echo "Berhasil Mengirimkan Email";
   }

   /** Mengirimkan Email dengan SMTP2GO
    * @param $pengirim
    * @param $tujuan
    * @param $subyek
    * @param $pesan
    * @param $api
    */
   private function _apiSMTP2go($pengirim,$tujuan,$subyek,$pesan,$api)
   {
      $curl = curl_init();
      curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
      curl_setopt($curl, CURLOPT_POST, 1);
      curl_setopt($curl, CURLOPT_HTTPHEADER, array(
         "Content-Type: application/json"
      ));
      curl_setopt($curl, CURLOPT_URL,
         "https://api.smtp2go.com/v3/email/send"
      );
      curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode(array(
         "api_key" => $api,
         "sender" => $pengirim,
         "to" => array(
            0 => $tujuan
         ),
         "subject" => $subyek,
         "text_body" => $pesan,
         "html_body" => $pesan
      )));
      curl_exec($curl);
   }
}

3. Setelah itu mari kita jalankan .

email-di-codeigniter-gambar3

4. Dan saat kita buka kembali dashboard SMTP2GO pada bagian Reports/Activity, maka akan nampak status pengiriman email yang baru saja anda lakukan.

email-di-codeigniter-gambar4

5. Hasilnya saat email berhasil terkirim akan nampak seperti ini :

email-di-codeigniter-gambar5

Catatan Penulis

SMTP2GO adalah salah satu favorit saya dalam mengirimkan email dengan codeigniter. Hal ini dikarenakan 2 hal, pertama mudah dalam pengaturannya. Dan kedua , menyediakan layanan API untuk pengiriman email, karena dengan metode pengaturan SMTP, terkadang beberapa port diblokir oleh pihak hosting, sehingga pengiriman dengan metode SMTP tidak dapat berjalan. Dengan 2 alasan itu saya lebih suka menggunakan SMTP2GO. Selamat Mencoba !

Leave a Reply

Your email address will not be published. Required fields are marked *