Script kirim email dengan php

Tutorial Mengirim Email Dengan PHP– Email merupakan layanan surat – menyurat di  internet. Dengan adanya email kita bisa mengirim pesan tanpa perantara pak pos. Seiring perkembangannya email juga banyak digunakan oleh website – website untuk keperluan tertentu. Misalnya verifikasi email.

Script kirim email dengan php

Para web developer perlu mempelajari tentang bagaimana cara mengirim email dengan menggunakan php, karena banyak kasus yang menyangkut pengiriman email ini. Misalnya saat kita mendaftar ke website jejaring sosial, pasti setelah mendaftar kita harus memverifikasi email kita. Contoh lainnya adalah pada halaman contact us suatu website, dimana pada saat pengunjung mengisi form lalu mengirim data maka data tersebut akan sampai ke email admin website tersebut.
Pada kesempatan kali ini penulis menuliskan tutorial mengirim email menggunakan php dengan mudah.
Pertama buat dahulu form HTML yang akan kita gunakan untuk mengisi data.

<form action=\\\\\\\"kirim.php\\\\\\\" method=\\\\\\\"post\\\\\\\">
<div>Nama : <input type=\\\\\\\"text\\\\\\\" name=\\\\\\\"nama\\\\\\\" /></div>
<div>Email : <input type=\\\\\\\"text\\\\\\\" name=\\\\\\\"email\\\\\\\" /></div>
<div>Subject : <input type=\\\\\\\"text\\\\\\\" name=\\\\\\\"subject\\\\\\\" /></div>
<div>Messages : <input type=\\\\\\\"text\\\\\\\" name=\\\\\\\"messages\\\\\\\" /></div>
<div><input type=\\\\\\\"submit\\\\\\\" value=\\\\\\\"kirim\\\\\\\" /></div>
</form>

Setelah itu buat file PHP  yang akan memproses pengiriman email.

<?php
$nama = $_POST[\\\\\\\'nama\\\\\\\'];
$to = $_POST[\\\\\\\'email\\\\\\\'];
$subject = $_POST[\\\\\\\'subject\\\\\\\'];
$messages = $_POST[\\\\\\\'messages\\\\\\\'];
    
$headers .= \\\\\\\'From: <>\\\\\\\' . \\\\\\\"rn\\\\\\\"; //bagian ini diganti sesuai dengan email dari pengirim
@mail($to, $subject, $messages, $headers.php);
if(@mail) 
{
    echo \\\\\\\"pengiriman berhasil\\\\\\\";
}
else 
{
    echo \\\\\\\"pengiriman gagal\\\\\\\";
}
?>

Baca juga : Konfigurasi XAMPP Untuk Mengirim Email dari Komputer Lokal
Dalam script diatas, pada $headers saya menggunakan , anda bisa menyesuaikannya sendiri.  Hasilnya seperti berikut :

Demo

Script kirim email dengan php

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.

Script kirim email dengan php

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.

        Script kirim email dengan php

        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.


          Username :

          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. 

        Script kirim email dengan php

        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  tapi email pengirim bisa saya ganti menjadi .

        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 ), tetapi email penerima akan tetap tahu bahwa @nugrohoprayogo.id adalah pengirim asli karena di pengirimnya tertulis  pengirim : 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.

        Script kirim email dengan php

        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. 

        Script kirim email dengan php

        Script kirim email dengan php

        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.

        Script kirim email dengan php

        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????.