Setelah dulu kita belajar tentang teknik login menggunakan Curl php sekarang saya mau berbagi lagi tentang bagaimana kita bisa mengirim email dengan PHP, pasti pernah kan menerima email saat membuat akun di internet, misal email sambutan selamat datang dan lain-lain, email tersebut hampir tidak mungkin dikirim manual oleh manusia karena banyak orang yang sering kali mendaftar akun secara bersamaan, maka dari itu sistem di internet yang mengurus semua pengiriman email "selamat datang" tersebut, nah kurang lebih kegunaan PHP bisa mengirim email otomatis ya seperti itu juga.
Sebagai contoh, tulisan pada gambar berkotak merah diatas sebagai bukti bahwa sistemlah yang mengirim email bukan manusia, kita disuruh mengunjungi pusat bantuan lagi untuk meminta bantuan dari google.
Di tutorial kali ini saya akan menggunakan library PHPMailer, kenapa menggunakan library ? karena lebih mudah menggunakannya, dan saya sudah mencoba menggunakan php native dan fungsi mail() bawaan php, dan hasilnya error.
Sudah pusing dengan error setelah ditelusuri ternyata penyedia hosting saya memblokir fungsi mail() php sehingga saya tidak bisa menggunakannya untuk mengirim email, ya akhirnya saya menggunakan PHPMailer yang menggunakan SMTP(Simple Mail Transfer Protocol).
Jadi untuk mengikuti tutorial ini sobat harus mempunyai SMTP server yang biasanya hanya ada di hosting berbayar, kalau nemu yang gratis dan ada SMTPnya ya silahkan digunakan untuk mengikuti tutorial ini.
Tapi kalau mentok juga bisa juga kok menggunakan SMTP yang disediakan gratis oleh google tentunya pakai email google yang kita miliki. Tapi untuk tutorial kali ini saya pakai SMTP di server saya dulu ya, untuk SMTP google menyusul deh.
Tutorial Di mulai
Siapkan terlebih dahulu, XAMPP atau software lain agar PHP bisa berjalan di komputer sobat. Siapkan juga library PHPMailer yang bisa didownload di https://github.com/PHPMailer/PHPMailer untuk versi terbaru, atau download disini untuk versi yang digunakan di tutorial ini.
Siapkan SMTPnya yang bisa sobat dapatkan dengan membuat email di hosting sobat, jika hosting sobat menggunakan Cpanel untuk pengaturan servernya bisa mengikuti tutorial Cara Membuat Akun Email di Control Panel Hosting, yang kita butuhkan adalah akun SMTP seperti gambar dibawah ini.
Ingat-ingat username dan password yang dimasukkan saat membuat akun email di hosting, jika kita mengikuti cara membuat email di artikel yang saya share sebelumnya maka username dan password yang didapat adalah.
password : emailsaya
Setelah digabung-gabung menjadi suatu kumpulan source code maka hasil menjadi seperti gambar dibawah ini, disana bisa juga sobat lihat struktur filenya, yaitu folder library PHPMailer menggunakan folder sendiri dan file eksekusi.php ditaruh diluarnya.
Saya juga menambahkan cpanel.png sebagai file lampiran gambar yang akan dikirim ke email gmail saya, untuk file cpanel.png ini sobat bisa menggantinya dengan file lain. Untuk penjelasan tentang maksud source codenya saya rasa tidak perlu, lagipula sudah saya beri komentar yang sudah cukup bisa membantu.
Source code diatas adalah konfigurasi SMTP milik saya, yang mungkin tidak bisa diakses lagi setelah artikel ini dibuat, jadi jangan lupa ya diganti source codenya terlebih dahulu. Ada satu hal yang menarik dari source code diatas yaitu email pengirim tidak harus sama dengan username SMTP, walaupun usernamenya blog@nugrohoprayogo.id tapi email pengirim bisa saya ganti menjadi cs@nugrohoprayogo.id.
Dengan catatan nama domain @nugrohoprayogo.id tidak bisa disembunyikan dengan menggantinya, melainkan sesuai domain yang sobat punya. Jika mencoba mengganti masih tetap berhasil sih ngirim emailnnya(misal diganti cs@contoh.com), tetapi email penerima akan tetap tahu bahwa @nugrohoprayogo.id adalah pengirim asli karena di pengirimnya tertulis pengirim : cs@contoh.com via nugrohoprayogo.id
Untuk melanjutkan tutorial ini silahkan sobat salin source code tersebut, setelah itu cobalah mengeksekusinya jika yang muncul Email sent Succesfully berarti email berhasil terkirim, sebaliknya jika gagal akan muncul Email failed to send.
Jangan lupa juga menghidupkan dahulu xampp di komputer sobat dan taruh folder email di htdocs supaya bisa di ekseskusi. Kalau saya sih tidak pakai xampp karena sudah saya upload di hosting jadi lebih simple dan lebih cepat.
Selanjutnya silahkan cek email penerima, jika mendapatkan email seperti ini berarti berhasil, kalau ga dapat emailnya coba cek folder spam, atau memang salah alamat email. Setelah email dibuka maka text di body dan lampiran file yang disertakan ikut terkirim.
Sampai disini sebenarnya tutorialnya sudah selesai, tapi dari hasil percobaan kemarin ada suatu hal yang menarik perhatian saya, apa itu ?? Yaitu php bisa mengirim email tanpa kita harus menggunakan SMTP (username dan password), cara ini hanya bekerja ketika mengeksekusi kodenya di hosting, jika sobat ingin mencobanya silahkan hapus atau beri tanda // (komentar) pada source code, seperti gambar dibawah ini.
Jika setelah dieksekusi hasilnya Email sent Succesfully berarti hosting sobat mengizinkan mengirim email tanpa proses autentikasi SMTP, kenapa itu bisa terjadi ? ternyata oh ternyata ini disebabkan penyedia hosting saya tidak memblokir fungsi php yang cukup rentan di versi php tertentu jadi bisa lolos deh, apakah ini suatu kecerobohan atau kesengajaan saya tidak tahu. Setelah saya coba di versi php yang lain akhirnya tidak bisa lagi deh, BTW saya mengganti versi php dengan PHP Selector | extensions yang sudah disediakan di hosting.
Selesai sudah tutorial Membuat PHP Bisa Mengirim Email Secara Otomatis, dibawah ini terdapat link download source code lengkap yang saya simpan di github, untuk yang sudah terlanjur saya suruh menyalin/mengetiknya tadi agar tidak kecewa itu hanya bertujuan untuk membuat sobat lebih paham lagi tentang source codenya????,
Kedepannya mungkin saya akan membuat tutorial cara membuat SMTP di gmail agar sobat yang tidak punya hosting masih tetap bisa mengirim email dengan php secara otomatis. Semoga tutorial ini bermanfaat, ehh jangan lupa share juga jika sobat berkenan????.
ini otomatisnya itu seperti mengirimkan artikel terbaru ke semua email gitu?
BalasHapusiya bisa gitu, tapi harus ada script tambahan lagi pastinya
Hapusgan ini bisa menggunakan email dari google?
BalasHapusbisa
HapusBisa di android?😂
BalasHapus