Kirim email dengan PHP tentu akan Anda butuhkan jika ingin mengirimkan newsletter ke pelanggan Anda. Bahkan, dengan function PHP mail(), Anda bisa mengirim email hanya dengan script PHP sederhana.
Nah, cara kirim email PHP juga tidak sulit kok. Di artikel ini, kami akan jelaskan cara mengirim email dengan PHP. Pensaran bagaimana? Yuk langsung saja simak pembahasannya.
Cara Kirim Email dengan PHP dengan Mudah
Berikut ini langkah-langkah mengirim email dengan PHP yang bisa Anda ikuti.
1. Login ke cPanel Anda
Langkah pertama, login terlebih dulu ke cPanel menggunakan username dan password untuk akses File Manager.
Baca Juga: Cara Membuat Email
2. Buat File PHP Baru
Cari menu File Manager, lalu cari folder public_html. Kemudian, klik tombol +File di pojok kiri atas untuk membuat file PHP baru.
Silakan buat file PHP baru dengan nama testmail.php.
Baca juga: Cara Membuat Website dengan PHP
3. Edit File PHP
Klik kanan pada file testmail.php kemudian pilih Code Edit.
Lalu, copy pasti kode berikut ini di file testmail.php yang baru Anda buat.
<?php ini_set( 'display_errors', 1 ); error_reporting( E_ALL ); $from = "testing@domainanda.com"; $to = "alamatpenerima@domain.com"; $subject = "Checking PHP mail"; $message = "PHP mail berjalan dengan baik"; $headers = "From:" . $from; mail($to,$subject,$message, $headers); echo "Pesan email sudah terkirim."; ?>
Simpan dengan klik tombol Save Changes. Alamat email pada baris $form dan $to silakan ganti dengan alamat email Anda.
- Dua baris pertama pada baris code berfungsi untuk mengaktifkan pemberitahuan error ketika ada script yang error.
- $from – Alamat email pengirim. Kebanyakan penyedia hosting web terbaik tidak mengijinkan untuk menggunakan alamat email yang tidak sesuai dengan domain Anda. Jadi Anda perlu untuk menggunakan alamat email sesuai nama domain Anda. Hal ini supaya email terkirim dengan baik.
- $to – Alamat email penerima. Karena ini hanya untuk pengetesan saja, silakan gunakan alamat email Anda yang aktif contohnya Gmail.
- $subject – Subject dari email.
- $message – Konten dari pesan email.
- $headers – Semua email memiliki header, yang berisi informasi penting seperti alamat email pengirim.
- mail($to, $subject, $message, $headers) – Ini adalah fungsi PHP untuk mengeksekusi email. Anda tidak perlu melakukan perubahan apapun.
- Echo “Pesan email sudah terkirim.” – Fungsi PHP echo akan menampilkan pesan ketika script telah berhasil dieksekusi.
Baca juga: Cara Konfigurasi Email dengan Domain Sendiri di Gmail
4. Jalankan Script Kirim Email dengan PHP
Jika Anda sudah meletakkan script PHP pada direktori public_html seperti yang kami sarankan, Anda dapat menjalankan script PHP mail dengan mengakses file tersebut melalui browser namadomainanda.com/tesmail.php.
Jika Anda melihat notifikasi Pesan email sudah terkirim pada browser, artinya email telah berhasil terkirim dan Anda dapat mengeceknya pada inbox email tujuan. Karena tidak semua email masuk ke dalam folder utama, jangan lupa cek juga folder SPAM/JUNK. Berikut tampilannya jika email berhasil terkirim.
Jika terdapat error, silakan untuk mengecek kembali dengan memastikan semua detail sudah benar. Jika error tidak tampil di browser, Anda dapat mengeceknya pada file error_log dari akun hosting Anda. Jika Anda belum mengetahui bagaimana cara mengecek filenya, silakan lihat tutorial berikut ini.
Baca juga: Cara Membuat Akun Email di cPanel
Kirim Email PHP untuk Sukseskan Email Marketing Anda
Sekarang Anda sudah mempelajari cara kirim email dengan PHP. Meskipun tutorial ini ibarat seperti sebuah percobaan, syntax yang sama dapat Anda gunakan untuk pengembangan formulir kontak website Anda.
Jika Anda memerlukan script yang lebih lengkap untuk mengirimkan email menggunakan PHP, silakan cek PHPMailer. Ini telah terintegrasi dukungan SMTP, error_logs dalam 47 bahasa serta banyak fitur berguna lainnya.
Apakah Anda masih memiliki pertanyaan? Tuliskan pertanyaan Anda pada kolom komentar di akhir halaman ini!
Apakah kalau buat file php nya di localhost (offline), tapi saya menghidupkan koneksi internet saya, apakah email bisa terkirim ? Saya sudah coba, tapi tidak terkirim. Apakah karena saya buatnya di localhost ?
Untuk tutorial ini tidak bisa dijalankan melalui localhost, untuk menjalankan php mail melalui localhost perlu melakukan konfigurasi lain seperti pada file php.ini. Di tutorial selanjutnya akan kami bahas… 🙂
mas mohon bantuannya, saya mau mengirim emai dengan message berformat html.
udah buat kayak gini:
error_reporting( E_ALL );
$from = "info@emailco.id";
$to = "target@emailco.id";
$subject = "Info Pendaftaran Member";
$message= "<h1>haloo kawan…</h1>";
$headers = "From:".$from;
$headers .= "Content-type: text/html";
mail($to,$subject,$message, $headers);
echo "Pesan email sudah terkirim.";
Tapi hasilnya malah gk kekirim pesannya, ada cara lain gk mas?
klo berhasil jg yg kekirim malah seperti ini "<h1>haloo kawan…</h1>", tidak terbaca html nya.
Terimakasih sebelumnya 🙂
Halo,
Untuk $message silakan diisi dengan struktur html lengkap. Silakan cek referensi berikut pada bagian Example 3: https://www.w3schools.com/php/func_mail_mail.asp
Semoga membantu. 🙂
sepertinya anda harus menambahkan charset UTF dan isi message harus diawali dengan dan diakhiri menjadi seperti ini:
$headers .= “Content-Type: text/html; charset=UTF-8 \r\n”;
insyaAllah it;s work
mau tanya mas,
folder phpmailernya diletakkan dimana dan di baris keberapa ya dari script berikut yang memanggil fungsi class phpmailernya
<?php
ini_set( 'display_errors', 1 );
error_reporting( E_ALL );
$from = "testing@domainanda.com";
$to = "alamatpenerima@domain.com";
$subject = "Checking PHP mail";
$message = "PHP mail berjalan dengan baik";
$headers = "From:" . $from;
mail($to,$subject,$message, $headers);
echo "Pesan email sudah terkirim.";
?>
Silakan disesuaikan dengan website Anda, untuk tutorial ini kami langsung meletakkan file PHP di public_html. Fungsi PHP untuk mengeksekusi email ada pada baris ke 9.
tampilan sudah sukses terkirim. namun di email tidak ada inbox sama sekali. apa tidak ada konfigurasi lain?
Silakan ditunggu dalam beberapa menit, atau silakan cek folder spam. 🙂
Mas, saya sudah sering pake fungsi mail().. dan rata2 selalu masuk spam.
Adakah cara supaya selalu masuk inbox?
Soalnya pandangan orang2 kalo email spam itu berbahaya…
Thanks..
Coba menggunakan cara di tutorial berikut: https://goo.gl/n7orp
cara menambahkan tabel kedalam pesan gimana pak? saya sudah coba coba tapi tidak terjadi perubahan…
Silakan cek referensi berikut pada bagian Example 3: https://www.w3schools.com/php/func_mail_mail.asp
Hai pak waryanto, apakah mengirim emaiil dengan HTML dapat dilakukan atau tidak ? apabila dapat dilakukan tolong beritahukan caranya. Terimakasih
Tidak bisa pak,
Karena HTML hanya client side scripting saja jenisnya, sementara pengiriman email membutuhkan pemrosesan oleh server yang hanya dapat diproses oleh server side script semacam PHP & sejenisnya.
mas klo mau kirim file pdf ke email bisa ngga???
Jika yang Anda maksud email PHP, jawabannya bisa, silakan cek source code berikut: https://github.com/PHPMailer/PHPMailer
di eksekusi berhasil, tapi email ga masuk padahal tulisan sukses, kenapa ya?
Jika Anda sudah memasukkan alamat email pada kolom "To" dengan benar, email Anda biasanya masuk folder spam, silakan cek folder spam Anda. Pastikan tidak ada masalah pada akun hosting Anda.
Betapa kudetnya aku, cuma manfaatkan fitur yang sudah ada, ternyata dengan manual seperti ini bisa. Lantas jika blash Email menggunakan PHP tanpa pihak ketiga, artinya akan lebih meringankan server kan pak? atau gimana ya agak kurang paham.
Blast email biasanya memang akan memberatkan server bagaimanapun itu
Mas saya mau nanya, saya kerja di salah satu perusahaan di batam. Nah, disini ada beberapa alat yang setiap bulan/beberapa bulan harus dikalibrasi atau di cek ulang. Nah, kemudian ketika misalnya alat tersebut sudah expired & perlu dikalibrasi dia langsung mengririm email otomatis ke kami bagian QC.
Apakah itu juga menggunakan pemrograman php mas?
Terima kasih
Bisa bapak, dengan melakukan expired date kemudian menjalankan script untuk mengirimkan email.
Untuk mengirim file seperti PDF, RAR itu bagaimana mas apakah bisa jga?
Bisa dengan fungsi attachment pada php dengan menggunakan basefile
Mas sebelumnya saya sudah cukup lama pakai cara ini, cuma kok tiba2 jadi gk bisa sama sekali buat ngirim email dengan cara ini. masalah nya apa ya mas?, mohon bantuanya.
Terimakasih
Masalah bisa bermacam-macam, apakah sudah dilakukan pengecekan pada log error-nya?
Sa;lam dari Bali, saya sudah lama pakai cara ini, namun jika ada client saya pakai alamat gmail.com, email tidak masuk ke gmail.com, ada solusi. salam
Halo Arya,
Terkait permasalahan email memang ada beberapa hal yang harus dilakukan pengecekan.
Jadi kami sarankan untuk menghubungi Customer Support di mana layanan hosting yang Anda gunakan.
Makasih untuk pelajarannya. Ilmu baru buat saya yang cukup berguna.