Please enable JavaScript!
Bitte aktiviere JavaScript!
S'il vous plaît activer JavaScript!
Por favor,activa el JavaScript!
antiblock.org

 |  |  | 
Anda ingin membuat website?
Untuk Anda yang sedang mencari orang untuk jasa pembuatan website, Saya akan bantu buatkan aplikasi sesuai kebutuhan Anda. Segera hubungi : mail@rizaldimaulidia.com. Selengkapnya tentang profil saya klik www.rizaldimaulidia.com.

Codeigniter Tips and Trick

Cara Mudah Mengirim Email dari Localhost / Server dengan Codeigniter

img-responsive

Tutorial yang akan kita bahas kali ini adalah mengenai cara mengirim email melalui website baik itu yang dijalankan di komputer local (localhost) ataupun di komputer server / hosting. Sebelumnya saya juga telah membuat tutorial ini tapi untuk versi PHP Native nya (bisa kalian lihat disini). Sementara kali ini kita akan membuatnya dengan menggunakan salah satu Framework yang cukup banyak digunakan yakni Codeigniter (versi 3). Dan juga kita akan memanfaatkan librari PHPMailer untuk proses kirim emailnya.

Sebelum masuk ke langkah-langkah cara membuatnya. Apakah anda sudah mengetahui apa yang dimaskud dengan SMTP? SMTP atau singkatan dari Simple Mail Transfer Protocol adalah sebuah protokol yang berguna untuk mengirimkan sebuah pesan elektronik (email). Maka dari itu untuk mengirim sebuah email kita membutuhkan SMTP sebagai perantara untuk mengirimkan email tersebut. Dalam tutorial ini kita akan menggunakan SMTP Gmail.


DEMO
Sebelum masuk ke tutorialnya. Mungkin ada yang mau lihat demonya terlebih dahulu. Silahkan klik link berikut untuk melihat demonya : Lihat Demo.


STEP 1 – PERSIAPAN
Berikut ini adalah hal-hal yang harus dipersiapkan :

  1. Download Framework Codeigniter, klik link berikut : download.
  2. Download librari PHPMailer, klik link berikut : Download.
  3. Buat sebuah folder baru dengan nama email_ci, lalu simpan pada folder xampp/htdocs/.
  4. Buat folder dengan nama tmp, lalu simpan pada folder xampp/htdocs/email_ci/.
  5. Buat folder dengan nama image,lalu simpan pada folder xampp/htdocs/email_ci/.
  6. Ekstrak codeigniter_v3.7z yang telah di download tadi.
  7. Copy semua file dan folder yang ada di folder codeigniter_v3 yang telah di ekstrak tadi ke folder xampp/htdocs/email_ci/.
  8. Copy 1 file gambar png (bebas gambar apa saja) lalu rename dengan nama logo.png, kemudian simpan pada folder xampp/htdocs/email_ci/image/.
  9. Ekstrak file phpmailer.7z yang telah di download tadi, kemudian copy and paste folder phpmailer ke dalam folder xampp/htdocs/email_ci/application/third_party/.

STEP 2 – KONFIGURASI
Karena dibuat dengan Codeigniter, pertama kita harus melakukan konfigurasi terlebih dahulu pada framework codeigniternya.

  1. Buka folder xampp/htdocs/email_ci/application/config/
  2. Buka file config.php
    Cari kode berikut $config['base_url'] = '';Ubah kode tersebut jadi seperti ini :

    $config['base_url'] = 'http://localhost/email_ci/';

    Kode diatas digunakan untuk menset baseurlnya.
    Lalu simpan file tersebut.

  3. Buka file autoload.php
    Cari kode berikut ini :

    $autoload['helper'] = array();

    Ubah jadi seperti ini :

    $autoload['helper'] = array('url', 'form');

    Kode diatas digunakan untuk memuat (menload) class form dan url.
    Lalu simpan file tersebut.

  4. Buka file routes.php
    Cari kode berikut ini :

    $route['default_controller'] = 'welcome';

    Ubah jadi seperti ini :

    $route['default_controller'] = 'email';

    Kode diatas digunakan untuk menset controller mana yang akan diload pertama kali. Secara default, Codeigniter telah menset default controller yaitu welcome. Disini kita set default controller menjadi email.
    Lalu simpan file tersebut.


STEP 3 – LIBRARI MAILER
Sebenarnya untuk apa librari ini? bukannya kita sudah pakai librari PHPMailer untuk kirim emailnya kan? alasannya adalah untuk memudahkan kita ketika ada banyak fitur yang menggunakan pengiriman email dalam website kita, jadi kita cukup bukun 1 file librari untuk konfigurasi SMTP nya. Maka dari itu kita akan buat librari Mailer yang isinya konfigurasi SMTP + fungsi buat kirim email tanpa attachment dan kirim email dengan attachment. Buat sebuah file dengan nama Mailer.php, Lalu simpan pada folder xampp/htdocs/email_ci/application/libraries/. Berikut kodenya :

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

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

class Mailer {
    protected $_ci;
    protected $email_pengirim = 'email_pengirim@gmail.com'; // Isikan dengan email pengirim
    protected $nama_pengirim = 'Rizaldi Maulidia Achmad'; // Isikan dengan nama pengirim
    protected $password = 'password_akun_email_pengirim'; // Isikan dengan password email pengirim

    public function __construct(){
        $this->_ci = &get_instance(); // Set variabel _ci dengan Fungsi2-fungsi dari Codeigniter

        require_once(APPPATH.'third_party/phpmailer/Exception.php');
        require_once(APPPATH.'third_party/phpmailer/PHPMailer.php');
        require_once(APPPATH.'third_party/phpmailer/SMTP.php');
    }

    public function send($data){
        $mail = new PHPMailer;
        $mail->isSMTP();

        $mail->Host = 'smtp.gmail.com';
        $mail->Username = $this->email_pengirim; // Email Pengirim
        $mail->Password = $this->password; // Isikan dengan Password email pengirim
        $mail->Port = 465;
        $mail->SMTPAuth = true;
        $mail->SMTPSecure = 'ssl';
        // $mail->SMTPDebug = 2; // Aktifkan untuk melakukan debugging

        $mail->setFrom($this->email_pengirim, $this->nama_pengirim);
        $mail->addAddress($data['email_penerima'], '');
        $mail->isHTML(true); // Aktifkan jika isi emailnya berupa html

        $mail->Subject = $data['subjek'];
        $mail->Body = $data['content'];
        $mail->AddEmbeddedImage('image/logo.png', 'logo_mynotescode', 'logo.png'); // Aktifkan jika ingin menampilkan gambar dalam email

        $send = $mail->send();

        if($send){ // Jika Email berhasil dikirim
            $response = array('status'=>'Sukses', 'message'=>'Email berhasil dikirim');
        }else{ // Jika Email Gagal dikirim
            $response = array('status'=>'Gagal', 'message'=>'Email gagal dikirim');
        }

        return $response;
    }

    public function send_with_attachment($data){
        $mail = new PHPMailer;
        $mail->isSMTP();

        $mail->Host = 'smtp.gmail.com';
        $mail->Username = $this->email_pengirim; // Email Pengirim
        $mail->Password = $this->password; // Isikan dengan Password email pengirim
        $mail->Port = 465;
        $mail->SMTPAuth = true;
        $mail->SMTPSecure = 'ssl';
        // $mail->SMTPDebug = 2; // Aktifkan untuk melakukan debugging

        $mail->setFrom($this->email_pengirim, $this->nama_pengirim);
        $mail->addAddress($data['email_penerima'], '');
        $mail->isHTML(true); // Aktifkan jika isi emailnya berupa html

        $mail->Subject = $data['subjek'];
        $mail->Body = $data['content'];
        $mail->AddEmbeddedImage('image/logo.png', 'logo_mynotescode', 'logo.png'); // Aktifkan jika ingin menampilkan gambar dalam email

        if($data['attachment']['size'] <= 25000000){ // Jika ukuran file <= 25 MB (25.000.000 bytes)
            $mail->addAttachment($data['attachment']['tmp_name'], $data['attachment']['name']);

            $send = $mail->send();

            if($send){ // Jika Email berhasil dikirim
                $response = array('status'=>'Sukses', 'message'=>'Email berhasil dikirim');
            }else{ // Jika Email Gagal dikirim
                $response = array('status'=>'Gagal', 'message'=>'Email gagal dikirim');
            }
        }else{ // Jika Ukuran file lebih dari 25 MB
            $response = array('status'=>'Gagal', 'message'=>'Ukuran file attachment maksimal 25 MB');
        }

        return $response;
    }
}

 

$mail->isSMTP();
Untuk menset bahwa proses pengiriman email menggunakan SMTP.

$mail->Host = ‘smtp.gmail.com’;
Disini kita menset SMTP nya dengan SMTP GMail (smtp.gmail.com) seperti yang saya katakan sebelumnya.

$mail->Username = $this->email_pengirim;
Ini harus diisi dengan email si pengirim (email kita sebagai pengirim), artinya kita akan mengirim email tersebut dengan menggunakan email mana.

$mail->Password = $this->password;
Isi dengan password email pengirim. Sebagai catatan, apabila Anda disini menggunakan akun google sebagai email pengirimnya, dan jika Two Step Verification (Verikasi 2 langkah) pada akun google Anda diaktifkan, maka Silahkan Ikuti STEP Terakhir (STEP 8) pada tutorial ini untuk mengetahui password yang harus diisikan.

$mail->Port = 465;
Kita isi dengan Port Default dr SMTP (Port SSL/TLS) yakni 465.

$mail->setFrom($this->email_pengirim$this->nama_pengirim);
Parameter pertama kita isi dengan email pengirim, dan parameter kedua kita isi dengan nama pengirimnya siapa (bebas sesuai keinginan).

$mail->addAddress($data[’email_penerima’]);
Parameter pertama kita isikan dengan email penerima / tujuan, dan parameter kedua itu opsional, isinya adalah nama si penerimanya siapa.

$mail->isHTML(true);
Jika isi emailnya adalah html, maka harus di set true.

$mail->Subject = $data[‘subjek’];
Isi dengan subjek emailnya.

$mail->Body = $data[‘content’];
Isi dengan isi emailnya baik berupa html ataupun teks biasa.

$mail->AddEmbeddedImage(‘image/logo.png’‘logo_mynotescode’‘logo.png’);
Kode untuk berguna untuk menyisipkan gambar ke dalam isi pesan yang kita kirim. Parameter pertama isi dengan path tempat gambar disimpan. Parameter kedua diisi dengan nama variabel (bebas, hanya huruf, angka, underscore) yang nantinya akan digunakan sebagai atiribut src pada tag img. Parameter ketiga diisi dengan nama file gambarnya.

$mail->addAttachment($data[‘attachment’][‘tmp_name’], $data[‘attachment’][‘name’]);
Kode ini berfungsi untuk menambahkan attachment pada email yang akan dikirim. Parameter pertama diisi dengan path tempat file disimpan, maka dari itu kita isi dengan tmp_name dari file yang di kirim dari form. Parameter kedua diisi dengan nama file attachment nya, nama file ini bisa kita set sendiri atau disamakan dengan nama file aslinya (sama seperti tutorial ini saya set sama seperti nama asli file nya ketika di pilih pada form).

$mail->send()
Kode ini untuk memulai proses kirim email.



 STEP 4 – CONTROLLER
Kita buat sebuah controller yang isinya adalah fungsi index dan juga fungsi send. Buat sebuah file dengan nama Email.php, Lalu simpan pada folder xampp/htdocs/email_ci/application/controllers/. Berikut kodenya :

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

class Email extends CI_Controller {

  public function index(){
    $this->load->view('email');
  }

  public function send(){
    $this->load->library('mailer');

    $email_penerima = $this->input->post('email_penerima');
    $subjek = $this->input->post('subjek');
    $pesan = $this->input->post('pesan');
    $attachment = $_FILES['attachment'];
    $content = $this->load->view('content', array('pesan'=>$pesan), true); // Ambil isi file content.php dan masukan ke variabel $content
    $sendmail = array(
      'email_penerima'=>$email_penerima,
      'subjek'=>$subjek,
      'content'=>$content,
      'attachment'=>$attachment
    );

    if(empty($attachment['name'])){ // Jika tanpa attachment
      $send = $this->mailer->send($sendmail); // Panggil fungsi send yang ada di librari Mailer
    }else{ // Jika dengan attachment
      $send = $this->mailer->send_with_attachment($sendmail); // Panggil fungsi send_with_attachment yang ada di librari Mailer
    }

    echo "<b>".$send['status']."</b><br />";
    echo $send['message'];
    echo "<br /><a href='".base_url("index.php/email")."'>Kembali ke Form</a>";
  }
}

Pada controller ini, kita membuat 2 fungsi. fungsi pertama yaitu public function index(). Dalam fungsi ini terdapat kode $this->load->view(’email’);. Kode tersebut berfungsi untuk memuat (meload) file email.php (file ini akan kita buat pada step selanjutnya).

Fungsi yang kedua yaitu public function send(). Fungsi ini berguna untuk melakukan pengiriman email.

$this->load->library(‘mailer’)
Kode diatas berguna untuk memuat (meload) librari Mailer yang sudah kita buat pada step 3 tadi agar kita bisa mengakses fungsi-fungsi yang ada di dalamnya.

$email_penerima = $this->input->post(‘email_penerima‘);
$subjek = $this->input->post(‘subjek‘);
$pesan = $this->input->post(‘pesan‘);
Untuk mengambil nilai / data yang dikirim dari form dengan method post. Yang saya beri warna merah harus sama dengan atribut name pada form input.

$content = $this->load->view(‘content‘, array(‘pesan’=>$pesan), true);
Untuk memuat (meload) isi dari views/content.php (nanti akan kita buat pada step selanjutnya) dan memasukannya ke dalam variabel $content (dengan cara set true pada parameter ketiganya).

$this->EmailModel->upload()
Untuk memanggil fungsi upload() yang ada pada EmailModel.php yang telah kita buat pada step sebelumnya.



 STEP 6 – FORM
Selanjutnya kita akan membuat form untuk mengirim emailnya. Buat sebuah file dengan nama email.php, Lalu simpan pada folder xampp/htdocs/email_ci/application/views/. Berikut tampilan dan kodenya :

Form - Cara Mudah Mengirim Email dari Localhost / Server dengan Codeigniter

<html>
<head>
  <title>Kirim Email dengan CodeIgniter</title>
</head>
<body>
    <div style="padding: 5px 30px;">
        <h1>Kirim Email dengan Framework Codeigniter</h1>
        <hr />

    <?php echo form_open('email/send', ['method'=>'post', 'enctype'=>'multipart/form-data']) ?>
            <div style="margin-bottom: 10px;">
                <label>Kepada</label><br />
                <input type="email" name="email_penerima" placeholder="Email Penerima" style="margin-top: 5px;width: 400px" />
            </div>
            <div style="margin-bottom: 10px;">
                <label>Subjek</label><br />
                <input type="text" name="subjek" placeholder="Subjek" style="margin-top: 5px;width: 400px" />
            </div>
            <div style="margin-bottom: 10px;">
                <label>Pesan</label><br />
                <textarea name="pesan" placeholder="Pesan" rows="8" style="margin-top: 5px;width: 400px"></textarea>
            </div>
            <div style="margin-bottom: 20px;">
                <label>Attachment</label><br />
                <input type="file" name="attachment" style="margin-top: 5px;width: 400px" />
            </div>

            <hr />
            <button type="submit">KIRIM EMAIL</button>
        <?php echo form_close() ?>
    </div>
</body>
</html>

 STEP 7 – CONTENT EMAIL
Pada tahap ini kita akan membuat tampilan dan isi dari email yang akan dikirim nantinya. Silahkan buat sebuah file dengan nama content.php, lalu simpan pada folder xampp/htdocs/email_ci/application/views/. Berikut ini tampilan (email) dan kodenya :

Content - Cara Mudah Mengirim Email dari Localhost / Server dengan Codeigniter

<html>
<head>
    <meta content="text/html; charset=UTF-8" http-equiv="content-type">
</head>
<body>
    <div style="float: left;margin-right: 10px;">
        <img src="cid:logo_mynotescode" alt="Logo" style="height: 50px">
    </div>

    <h2 style="margin-bottom: 0;">My Notes Code</h2>
    https://www.mynotescode.com

    <div style="clear: both"></div>
    <hr />

    <div style="text-align: justify">
        <?php echo $pesan; // Tampilkan isi pesan ?>
    </div>
</body>
</html>

<img src=”cid:logo_mynotescode” alt=”Logo” style=”height: 50px”>
Pada kode ini, seperti yang saya jelaskan pada step sebelumnya. Kita isi atribut src dengan nama variabel yang kita tentukan pada librari Mailer yang telah kita buat pada step 3 ($mail->AddEmbeddedImage(‘image/logo.png’, ‘logo_mynotescode‘, ‘logo.png’);) dengan diberi awalan “cid:nama_variabel”.



STEP 8 – SETTING GOOGLE ACCOUNT
Tahap ini adalah tahap khusus bagi Anda yang menggunakan Akun Google sebagai pengirim dan juga khusus untuk yang Fitur Two Factor Verification (Verifikasi 2 Langkah) pada akun googlenya diaktifkan. Karena jika Two Factor Verification diaktifkan pada akun googlenya, maka isi dari $mail->Password (pada file Libraries/Mailer.php) bukan lagi password akun googlenya, tetapi menggunakan password khusus yang bisa kita dapatkan dari halman pengaturan di akun googlenya. Silahkan ikuti langkah-langkah dibawah ini atau kunjungi link (https://support.google.com/mail/?p=InvalidSecondFactor) :

  1. Setelah masuk ke halaman Akun Google (https://myaccount.google.com/).
  2. Klik menu Security.
    Setting App Password (Step 1) - Cara Mudah Mengirim Email dari Localhost / Server dengan Codeigniter
  3. Pada bagian Signing to Google, Klik App Passwords.
    Setting App Password (Step 2) - Cara Mudah Mengirim Email dari Localhost / Server dengan Codeigniter
  4. Setelah mengklik App Passwords Anda akan diminta untuk memasukan Password Akun Google Anda untuk verifikasi.
    Setting App Password (Step 3) - Cara Mudah Mengirim Email dari Localhost / Server dengan Codeigniter
  5. Setelah itu Anda akan masuk ke halaman App Passwords. Disini Anda tinggal klik Select App.
    Setting App Password (Step 4) - Cara Mudah Mengirim Email dari Localhost / Server dengan Codeigniter
  6. Lalu klik Other (Custom Name).
    Setting App Password (Step 5) - Cara Mudah Mengirim Email dari Localhost / Server dengan Codeigniter
  7. Isikan deskripsi atau isikan saja dengan nama Website Anda.
    Setting App Password (Step 6) - Cara Mudah Mengirim Email dari Localhost / Server dengan Codeigniter
  8. Klik tombol GENERATE.
    Setting App Password (Step 7) - Cara Mudah Mengirim Email dari Localhost / Server dengan Codeigniter
  9. Copy random teks yang ada dalam kotak warna kuning. Random teks itu yang akan kita gunakan sebagai Password untuk akses ke akun email googlenya ($mail->Password).
    Setting App Password (Step 8) - Cara Mudah Mengirim Email dari Localhost / Server dengan Codeigniter

Sekian untuk tutorial kali ini. Jika ada hal yang ingin ditanyakan, langsung tanyakan saja lewat kolom komentar dibawah ini. Jangan lupa LIKE dan SHARE nya hehe, Terimakasih.

Happy Coding ^_^


SOURCE CODE
Untuk mengunduh source code nya, klik link berikut ini : Download.


SUMBER & REFERENSI
Dokumentasi PHPMailer : https://github.com/PHPMailer/PHPMailer
Dokumentasi Codeigniter : https://www.codeigniter.com/user_guide
Cara mengirim email di localhost / server dengan Codeigniter, tutorial lengkap kirim email di localhost / server  dengan Codeigniter, tutorial step by step kirim email di localhost / server  dengan framework codeigniter dan PHP Mailer

Mengirim Email

(Total : 14,491 viewers, 1 viewers today)
mengirim-email-localhost-server-codeigniter

ABOUT THE AUTHOR

Interested in android programming, long time focused on web development. Visit My Profile Site at www.rizaldimaulidia.com

POST YOUR COMMENTS

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

Name *

Email *

Website

68 Comments

  1. Hermansyah

    Worth it bang, cuman problemnya harus matiin anti virus (AVAST) dulu baru bisa jalan.
    yang jadi pertanyaan knp harus matiin anti virus dulu yah?
    terus jika scriptnya saya upload ke hosting akan kah mengalami problemnya yg sama?

  2. lazuardirnr

    Alhamdulillah work gan.
    thankyou, semoga dilimpahkan rejekinya.

  3. jojo 8890

    Bro muncul

    Not Found

    The requested URL was not found on this server

    • not found itu ga ditemukan file php nya, pastikan url yg diakses sesuai dengan nama folder dan file yang ada di htdocs nya

  4. Puja junior

    Bagaimana kalau yg kirim email itu , pengunjung website kita?
    nah pas pengunjung input form, masuk ke email admin website kita?

    • om harus punya 2 email. email pertama diset sebagai pengirim, email kedua diset sebagai penerima. nanti baru isi emailnya adalah Nama, Email, No. HP, dan pesan dari pengunjungnya

    • Puja junior

      Tolong berikan contoh kodenya donk mas rizaldi

      • maaf om, itu kan tinggal set aja email penerima sama pengirimnya, terus body emailnya diisi sesuai yg diinput di form.

  5. And iPutra

    Terima kasih Tutorialnya….
    akhirnya saya bisa setelah lama googling dan utak atik xampp(php.ini dan sendmail.ini)
    maju terus mynotescode.com

  6. adin prass

    Could not instantiate mail function.
    Gagal
    Email gagal dikirim
    Kembali ke Form

    kalau kayak gini kenapa mas.?

  7. adin prass

    Invalid address: (From): root@localhost
    Gagal
    Email gagal dikirim
    Kembali ke Form

    kalau gagal errornya gini kenapa ya bang.?

  8. fatma123

    cara memunculkan app passnya gmn ya mas

  9. Anggi_dna93

    Bang, kalo email penerimanya load dari database gmana bang?

    • koneksi SMTP nya gagal, ada beberapa kemungkinan
      1. Karena password dari email pengirim salah
      2. Email pengirimnya menggunakan Two-Factor Verification sehingga tidak bisa login
      3. Allow less secure apps belum di enable pada setting emailnya

  10. Rival yanwar

    Could not access file: image/logo.png
    2020-03-25 11:19:05 SERVER -> CLIENT: 220 smtp.gmail.com ESMTP h71sm5365991pge.32 – gsmtp
    2020-03-25 11:19:05 CLIENT -> SERVER: EHLO localhost
    2020-03-25 11:19:05 SERVER -> CLIENT: 250-smtp.gmail.com at your service, [114.124.238.133]250-SIZE 35882577250-8BITMIME250-AUTH LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH250-ENHANCEDSTATUSCODES250-PIPELINING250-CHUNKING250 SMTPUTF8
    2020-03-25 11:19:05 CLIENT -> SERVER: AUTH LOGIN
    2020-03-25 11:19:05 SERVER -> CLIENT: 334 VXNlcm5hbWU6
    2020-03-25 11:19:05 CLIENT -> SERVER: [credentials hidden]
    2020-03-25 11:19:05 SERVER -> CLIENT: 334 UGFzc3dvcmQ6
    2020-03-25 11:19:05 CLIENT -> SERVER: [credentials hidden]
    2020-03-25 11:19:06 SERVER -> CLIENT: 535-5.7.8 Username and Password not accepted. Learn more at535 5.7.8 https://support.google.com/mail/?p=BadCredentials h71sm5365991pge.32 – gsmtp
    2020-03-25 11:19:06 SMTP ERROR: Password command failed: 535-5.7.8 Username and Password not accepted. Learn more at535 5.7.8 https://support.google.com/mail/?p=BadCredentials h71sm5365991pge.32 – gsmtp
    SMTP Error: Could not authenticate.
    2020-03-25 11:19:06 CLIENT -> SERVER: QUIT
    2020-03-25 11:19:06 SERVER -> CLIENT: 221 2.0.0 closing connection h71sm5365991pge.32 – gsmtp
    SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

    ini kenapa ya kak?

    • dari errornya keliatan om :
      SMTP ERROR: Password command failed: 535-5.7.8 Username and Password not accepted

      sepertinya email atau password pengirimnya salah, coba di cek kembali.

  11. AnandaPutra

    Halo mas, saya mau tanya kenapa saya tidak bisa terkirim ya email nya sedangkan notifkasi yang muncul sudah berhasil tetapi status di databasenya mash pending.. itu solusinya gimana ya mas? mksh

    • ke emailnya masuk tidak om? sudah dicek email penerima nya ada tidak emailnya? cek juga folder spam di emailnya

      • guz_ade12

        kak saya juga udah muncul notif berhasil dikirim tp, saya cek lagi ke gmail saya gak ada yg masuk kak itu gmn ya tolong pencerahannya

          • guz_ade12

            Terimakasih bang tutorialnya saya skrang sudah bisa buat input emailnya, semoga mynotescode.com jaya terus dan memberi banyak ilmu bagi masyarakat luas

  12. fakhrur ridho

    saya dapat notif dari gmail. isinya “Seseorang baru saja menggunakan sandi Anda untuk mencoba login ke akun Anda dari aplikasi non-Google. Google memblokirnya, namun Anda sebaiknya memeriksa apa yang terjadi. Tinjau aktivitas akun Anda untuk memastikan tidak ada orang lain yang memiliki akses.” kira” solusinya bagai mana kak ?

    • cek STEP 8 om, buat memberi izin aplikasi ktia untuk login ke google menggunakan email yang kita tentukan

  13. Hendra Widianto

    Mas saya mau buat apps password di googlenya sudah ngk bisa. kalau untuk password menggunakan password asli dari emailnya bisa ngk ya ?

    • app password digunakan apabila om mengaktifkan fitur Two Factor Verification pada akun googlenya, kalau tidak diaktifkan, pakai password aslinya saja

  14. Aditya Mahdi

    kak caranya kirim email ke banyak alamat yang dipisahin tanda koma di textbox viewnya gimana ya kak?

  15. shakirin helmi

    Extension missing: openssl

    saya dah buka openssl tetapi masih error disini. harap dapat membantu

  16. shakirin helmi

    Not Found
    The requested URL /mynotescode/email_ci/index.php/email/send was not found on this server.

    kenapa saya punya keluar begini bang?

    • oh itu settingan base_url nya om, silahkan ikuti petunjuk pada STEP 2 No.2.
      Source codenya pun sudah saya perbaharui

      • shakirin helmi

        terima kasih bang.. sudah selesai.. jika masukkan codenya pada server perlukah mengubah code atau guna code ini sahaja?

        • tidak perlu ada yang diubah om, upload saja code ini ke server. kalau ada error, tanya saya lagi saja hehe

          • shakirin helmi

            Gagal
            Email gagal dikirim
            Kembali ke Form

            saya telah masukkan code pada server tapi bila run gagal cok… apa in lgi kne setting ya

          • salah settingan smtpnya ini, settingan smtpnya di ganti? apa sama dengan yg ada di tutorial ini?

          • shakirin helmi

            setting smtp telah diganti mengikut tutorial ini.. tetapi gagal dikirim juga

  17. handika suta

    kak kkq emailnya gagal di kirim terus knp yaa mohon pencerahanya

    • coba tambahkan skrip ini :
      $mail->SMTPDebug = 2;

      sebelum skrip:
      $send = $mail->send();

      lalu coba jalankan, nanti keluar error log nya karena apa

  18. darilyoga

    om klo pake smtp email hosting kok g bisa ya om.saya cek oba kirim ke gmail g masuk om email nya,

    • coba tambahkan skrip ini :
      $mail->SMTPDebug = 2;

      sebelum skrip:
      $send = $mail->send();

      lalu coba jalankan, nanti keluar error log nya karena apa

  19. Nuri Sanuri

    use PHPMailer\PHPMailer\PHPMailer;
    use PHPMailer\PHPMailer\Exception;

    class Mailer {
    protected $_ci;
    protected $email_pengirim = ‘*****@gmail.com’;
    protected $nama_pengirim = ‘Nuri Sanuri’;
    protected $password = ‘***********’; //menggunakan password apps

    public function __construct() {
    $this->_ci = &get_instance();

    require_once(APPPATH.’third_party/phpmailer/Exception.php’);
    require_once(APPPATH.’third_party/phpmailer/PHPMailer.php’);
    require_once(APPPATH.’third_party/phpmailer/SMTP.php’);
    }

    public function send($data) {
    $mail = new PHPMailer;
    $mail->isSMTP();

    $mail->Host = ‘smtp.gmail.com’;
    $mail->Usernam = $this->email_pengirim;
    $mail->Password = $this->password;
    $mail->Port = 465;
    $mail->SMTPAuth = true;
    $mail->SMTPSecure = ‘ssl’;

    $mail->setFrom($this->email_pengirim, $this->nama_pengirim);
    $mail->addAddress($data[’email_penerima’], ”);
    $mail->isHTML(true);

    $mail->Subject = $data[‘subjek’];
    $mail->Body = $data[‘content’];
    $mail->AddEmbeddedImage(‘image/logo.png’, ‘logo_pribadi’, ‘logo.png’);

    $send = $mail->send();

    if ($send) {
    $response = array(‘status’ => ‘Sukses’, ‘message’ => ‘Email berhasil dikirim’);
    }
    else {
    $response = array(‘status’ => ‘Gagal’, ‘message’ => $mail->ErrorInfo);
    }

    return $response;
    }

    • Nuri Sanuri

      Sudah sesuai dengan langkah no.8

      • coba tambahkan skrip ini :
        $mail->SMTPDebug = 2;

        sebelum skrip:
        $send = $mail->send();

        Mohon maaf baru bisa balas

  20. Dedy Wijaya

    Gils, Keren bang salut dah gue berbagi nya.
    Ty bgt bang. Mantul

  21. Ana_____

    Terimakasih, sangat membantu

  22. farhan123

    saya sudah mengikuti, tapi kok tidak dapat notifikasi setelah kirim emailnya ya

      • farhan123

        Sudah bisa mas, saya pake password dari app password, terima kasih tutorialnya sangat membantu

NOTE ARCHIVES