Cara Mengirim Email menggunakan Fungsi PHP mail()
Apa itu email PHP?
PHP mail adalah fungsi PHP bawaan yang digunakan untuk mengirim email dari skrip PHP.
Fungsi surat menerima parameter berikut:
- Alamat email
- Subjek
- Pesan
- Alamat email CC atau BC
- Ini adalah cara yang hemat biaya untuk memberi tahu pengguna tentang peristiwa penting.
- Biarkan pengguna menghubungi Anda melalui email dengan menyediakan formulir hubungi kami di situs web yang mengirimkan konten yang disediakan melalui email.
- Pengembang dapat menggunakannya untuk menerima kesalahan sistem melalui email
- Anda dapat menggunakannya untuk mengirim email ke pelanggan buletin Anda.
- Anda dapat menggunakannya untuk mengirim tautan pengaturan ulang kata sandi kepada pengguna yang lupa kata sandinya
- Anda dapat menggunakannya untuk mengirim tautan aktivasi/konfirmasi melalui email. Ini berguna saat mendaftarkan pengguna dan memverifikasi alamat email mereka
Mengapa/Kapan menggunakan email PHP
Mengirim email menggunakan PHP
Fungsi mail PHP memiliki sintaks dasar berikut
<?php mail($to_email_address,$subject,$message,[$headers],[$parameters]); ?>
SINI,
- “$to_email_address” adalah alamat email penerima email
- “$subject” adalah subjek email
- “$message” adalah pesan yang akan dikirim.
- “[$headers]” bersifat opsional, dapat digunakan untuk memasukkan informasi seperti CC, BCC
- CC adalah singkatan dari carbon copy. Digunakan saat Anda ingin mengirim salinan kepada orang yang berminat, misalnya email pengaduan yang dikirim ke perusahaan juga dapat dikirim sebagai CC ke dewan pengaduan.
- BCC adalah singkatan dari blind carbon copy. Mirip dengan CC. Alamat email yang disertakan di bagian BCC tidak akan ditampilkan kepada penerima lainnya.
Sederhana Mail Transmission Protokol (SMTP)
Mailer PHP menggunakan Simple Mail Transmission Protokol (SMTP) untuk mengirim email.
Di server yang dihosting, pengaturan SMTP sudah ditetapkan.
Pengaturan email SMTP dapat dikonfigurasi dari file “php.ini” di folder instalasi PHP.
Mengonfigurasi pengaturan SMTP di localhost Anda Dengan asumsi Anda menggunakan xampp di windows, cari “php.ini” di direktori “C:\xampp\php”.
- Buka menggunakan notepad atau editor teks apa pun. Kami akan menggunakan notepad dalam contoh ini. Klik pada menu edit
- Klik pada menu Temukan…
- Menu dialog temukan akan muncul
- Klik tombol Temukan Berikutnya
- Temukan entri
- [fungsi email]
- ; XAMPP: Jangan hapus setengah kolom jika Anda ingin bekerja dengan Server SMTP seperti Mercury
- ; SMTP = host lokal
- ; smtp_port = 25
- Hapus titik koma sebelum SMTP dan smtp_port dan atur SMTP ke server smtp dan port ke port smtp Anda. Pengaturan Anda akan terlihat sebagai berikut
- SMTP = smtp.example.com
- smtp_port = 25
- Note pengaturan SMTP dapat diperoleh dari penyedia hosting web Anda.
- Jika server memerlukan autentikasi, tambahkan baris berikut.
- auth_username = contoh_namapengguna@example.com
- auth_password = contoh_password
- Simpan perubahan baru.
- Restart Apache Server.
PHP Mail Example
Sekarang mari kita lihat contoh yang mengirimkan surat sederhana.
<?php $to_email = 'name @ company . com'; $subject = 'Testing PHP Mail'; $message = 'This mail is sent using the PHP mail function'; $headers = 'From: noreply @ company . com'; mail($to_email,$subject,$message,$headers); ?>
Keluaran:
Catatan: contoh di atas hanya mengambil 4 parameter wajib.
Anda harus mengganti alamat email fiktif di atas dengan alamat email asli.
Membersihkan masukan pengguna email
Contoh di atas menggunakan nilai-nilai yang dikodekan secara kaku dalam kode sumber untuk alamat email dan rincian lainnya demi kesederhanaan.
Misalkan Anda harus membuat formulir hubungi kami agar pengguna dapat mengisi rinciannya, lalu mengirimkannya.
- Pengguna dapat secara tidak sengaja atau sengaja menyuntikkan kode di header yang dapat mengakibatkan pengiriman email spam
- Untuk melindungi sistem Anda dari serangan semacam itu, Anda dapat membuat fungsi khusus yang membersihkan dan memvalidasi nilai sebelum email dikirim.
Mari membuat fungsi khusus yang memvalidasi dan membersihkan alamat email menggunakan fungsi bawaan filter_var.
Fungsi Filter_var Fungsi filter_var digunakan untuk membersihkan dan memvalidasi data input pengguna.
Ia memiliki sintaksis dasar sebagai berikut.
<?php filter_var($field, SANITIZATION TYPE); ?>
SINI,
- “filter_var(…)” adalah fungsi validasi dan sanitasi
- “$field” adalah nilai bidang yang akan difilter.
- “JENIS SANITASI” adalah jenis sanitasi yang akan dilakukan di lapangan seperti;
- FILTER_VALIDASI_EMAIL – mengembalikan nilai true untuk alamat email yang valid dan false untuk alamat email yang tidak valid.
- FILTER_SANITASI_EMAIL – menghapus karakter ilegal dari alamat email. info\@domain.(com) mengembalikan info@domain.com.
- FILTER_SANITIZE_URL – menghapus karakter ilegal dari URL. http://www.example@.comé mengembalikan >http://www.example@.com
- FILTER_SANITIZE_STRING – menghapus tag dari nilai string. saya berani menjadi saya berani.
Kode di bawah ini menerapkan fungsi khusus untuk mengirim surat aman.
<?php function sanitize_my_email($field) { $field = filter_var($field, FILTER_SANITIZE_EMAIL); if (filter_var($field, FILTER_VALIDATE_EMAIL)) { return true; } else { return false; } } $to_email = 'name @ company . com'; $subject = 'Testing PHP Mail'; $message = 'This mail is sent using the PHP mail '; $headers = 'From: noreply @ company. com'; //check if the email address is invalid $secure_check $secure_check = sanitize_my_email($to_email); if ($secure_check == false) { echo "Invalid input"; } else { //send email mail($to_email, $subject, $message, $headers); echo "This email is sent using PHP Mail"; } ?>
Keluaran:
Aman Mail
Email dapat disadap selama pengiriman oleh penerima yang tidak dituju.
Hal ini dapat memaparkan isi email ke penerima yang tidak dituju.
Surat aman memecahkan masalah ini dengan mengirimkan email melalui Hypertext Transfer Protocol Secure (HTTPS).
HTTPS mengenkripsi pesan sebelum mengirimnya.
Ringkasan
- PHP fungsi bawaan mail() digunakan untuk mengirim email dari skrip PHP
- Pemeriksaan validasi dan sanitasi pada data sangat penting untuk mengirim email yang aman
- Fungsi bawaan PHP filter_var() menyediakan cara yang mudah digunakan dan efisien dalam melakukan sanitasi dan validasi data