Cara mengirim email melalui localhost dengan Codeigniter

Cara mengirim email melalui localhost dengan Codeigniter

2676
7
SHARE

Hai sahabat harviacode, apa kabar hari ini? Semoga sahabat ga bosan ya tiap hari berkutat dengan kode kode yang kadang membuat kita tertawa sendiri (maksudnya tertawa karena ga ngerti udah nulis apaan haha…)

Tutor kali ini harviacode akan menjelaskan cara mengirimkan email melalui localhost. Dalam tutorial ini kita akan menggunakan gmail sebagai sarana pengiriman email. Kenapa gmail? Karena saya rasa kebanyakan dari kita menggunakan gmail sebagai email provider mengingat semakin menjamurnya OS android di handphone sehingga mayoritas dari kita mempunyai akun gmail untuk mengakses playstore kan?

Baiklah langsung saja kita akan membuat controller yang berguna untuk mengirim email. Dalam kesempatan ini controller codeigniter akan saya beri nama Email tentunya sahabat harviacode dapat menggantinya sesuka hati 😀

 

Mari kita bahas kode diatas satu persatu. Pada baris atas kita menggunakan function construct untuk melihat apakah user tersebut mempunyai akses atau tidak apabila tidak ada hak akses maka akan di redirect ke halaman login. Tutorial untuk halaman login di codeigniter bisa sahabat baca disini Membuat login dengan Codeigniter

Selanjutnya dalam function sendMail() kita akan membuat file email config. Pertama tentu kita me load library email yang secara default disediakan oleh Codeigniter. Protocol yang kita gunakan agar dapat mengirim email melalui localhost kita pilih SMPT . Setting host dan port secara default kita gunakan seperti diatas, langkah selanjutnya kita masukkan username dan password kita. Setelah selesai kita initialize config yang telah kita buat

Setelah selesai kita tinggal memasukkan data email yang akan kita kirim. Kode diatas saya copy dari manual Codeigniter, yang intinya hanya menentukan pengirim, tujuan, isi email dll… Untuk mengirim email tinggal kita gunakan perintah $this->email->send()

Untuk mengetahui apakah email kita sukses atau error kita gunakan perintah

Untuk diketahui email tujuan disini saya masukkan kedalam variabel $list karena pada contoh diatas saya hanya mengirim pada satu alamat, seandainya kita akan mengirim ke banyak alamat tinggal kita masukkan daftar emailnya kedalam array atau bisa juga kita ambil dari dalam database email yang kita tentukan sebelumnya

Ohya mengenai isi pada contoh diatas saya langsung memasukkan kedalam kode, sahabat bisa membuat form email sendiri dan memasukkan parameter sesuai yang dibutuhkan. Sudah banyak tutorial di harviacode yang menjelaskan tentang pembuatan form maupun menyimpan kedalam database yang kali ini tidak saya jelaskan lagi

Untuk memasukkan lampiran sahabat bisa menggunakan perintah

Untuk memasukkan banyak lampiran tinggal mengulang kode diatas

Untuk diingat gunakan path untuk memasukkan lampiran jangan gunakan URL. Settingan lain seperti Cc, Bcc dll dapat sahabat baca di manual codeiniter

Bagaimana mudah bukan mengirim email melalui localhost pada Codeigniter?

Sampai disini dulu ya tutorial kali ini, semoga bermanfaat

Bagikan artikel ini ya.. terima kasih

7 COMMENTS

  1. An Error Was Encountered

    220 smtp.gmail.com ESMTP cq4sm2853918pad.28 – gsmtp

    hello: 250-smtp.gmail.com at your service, [202.180.51.162]
    250-SIZE 35882577
    250-8BITMIME
    250-AUTH LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH
    250-ENHANCEDSTATUSCODES
    250-PIPELINING
    250-CHUNKING
    250 SMTPUTF8
    Failed to authenticate password. Error: 534-5.7.14 Please log in via your web browser and 534-5.7.14 then try again. 534-5.7.14 Learn more at 534 5.7.14 https://support.google.com/mail/answer/78754 cq4sm2853918pad.28 – gsmtp
    from: 530-5.5.1 Authentication Required. Learn more at
    530 5.5.1 https://support.google.com/mail/answer/14257 cq4sm2853918pad.28 – gsmtp
    The following SMTP error was encountered: 530-5.5.1 Authentication Required. Learn more at 530 5.5.1 https://support.google.com/mail/answer/14257 cq4sm2853918pad.28 – gsmtp
    to: 530-5.5.1 Authentication Required. Learn more at
    530 5.5.1 https://support.google.com/mail/answer/14257 cq4sm2853918pad.28 – gsmtp
    The following SMTP error was encountered: 530-5.5.1 Authentication Required. Learn more at 530 5.5.1 https://support.google.com/mail/answer/14257 cq4sm2853918pad.28 – gsmtp
    data: 530-5.5.1 Authentication Required. Learn more at
    530 5.5.1 https://support.google.com/mail/answer/14257 cq4sm2853918pad.28 – gsmtp
    The following SMTP error was encountered: 530-5.5.1 Authentication Required. Learn more at 530 5.5.1 https://support.google.com/mail/answer/14257 cq4sm2853918pad.28 – gsmtp
    502 5.5.1 Unrecognized command. cq4sm2853918pad.28 – gsmtp
    The following SMTP error was encountered: 502 5.5.1 Unrecognized command. cq4sm2853918pad.28 – gsmtp
    Unable to send email using PHP SMTP. Your server might not be configured to send mail using this method.
    User-Agent: CodeIgniter
    Date: Wed, 24 Feb 2016 09:18:19 +0100
    From: “Depie Depoy”
    Return-Path:
    To: $email
    Subject: =?utf-8?Q?judul_email?=
    Reply-To: “depoy@gmail.com”
    X-Sender: depoy@gmail.com
    X-Mailer: CodeIgniter
    X-Priority: 3 (Normal)
    Message-ID:
    Mime-Version: 1.0

    Content-Type: multipart/alternative; boundary=”B_ALT_56cd674ba514a”

    This is a multi-part message in MIME format.
    Your email application may not support this format.

    –B_ALT_56cd674ba514a
    Content-Type: text/plain; charset=utf-8
    Content-Transfer-Encoding: 8bit

    isi email

    –B_ALT_56cd674ba514a
    Content-Type: text/html; charset=utf-8
    Content-Transfer-Encoding: quoted-printable

    isi email

    –B_ALT_56cd674ba514a–

LEAVE A REPLY