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

Sederhana Mail Transmission Protokol

  • Klik pada menu Temukan…

Sederhana Mail Transmission Protokol

  • Menu dialog temukan akan muncul

Sederhana Mail Transmission Protokol

  • Klik tombol Temukan Berikutnya

Sederhana Mail Transmission Protokol

  • 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:

Sederhana Mail Transmission Protokol

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:

Membersihkan masukan pengguna email

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