Fungsi PHP mail [] adalah fitur PHP bawaan yang memungkinkan Anda mengirim email langsung dari skrip. Bergantung pada situs web atau aplikasi web Anda, Anda mungkin memerlukan fungsi ini untuk memberikan pengalaman yang lebih baik bagi pelanggan Anda
Misalnya, jika Anda menjalankan situs web berbasis langganan, Anda mungkin merasa perlu mengirimkan pesan verifikasi dan pesan selamat datang melalui email. Di sinilah fungsi PHP mail[] masuk. Anda dapat menggunakannya pada pengkodean Anda untuk mengirim email secara otomatis tanpa input manual dari pihak Anda
Area lain di mana Anda dapat menggunakan kekuatan fungsi email PHP ada di formulir kontak. Saat pengunjung memasukkan pesan dari halaman kontak, Anda dapat menggunakan fitur untuk mengirim salinan pesan ke email Anda. Ini memungkinkan Anda menerima email tepat waktu dan membalas secepat mungkin
Fungsi PHP mail[] diaktifkan secara default dan Anda tidak perlu men-tweak php. file ini untuk mengatur hal yang sama. Jadi dalam panduan ini, kita akan membahas sintaks umum yang harus Anda gunakan untuk menjalankan fungsi mengirim email dari skrip PHP
Prasyarat
- Server web e. g. Apache atau Nginx
- bahasa skrip PHP
- Server email seperti SendMail atau Postfix
Jika Anda menggunakan hosting bersama, paket di atas diinstal dan diaktifkan secara default. Namun, Anda perlu menginstal aplikasi perangkat lunak satu per satu jika menggunakan paket VPS
Untuk informasi lebih lanjut tentang paket ini [penyedia, ulasan, harga, dan fitur] – kunjungi ulasan hosting VPS HostAdvice dan ulasan hosting bersama
Langkah 1. PHP mail[] Sintaks Fungsi
Sintaks dasar untuk fungsi PHP mail[] adalah
mail [to, subject, message, headers, parameters];
Tabel di bawah merangkum arti dari setiap parameter
NoFieldMandatory/OptionalDescriptionExamples1toMandatoryParameter ini menunjukkan penerima emailinfo@contoh. com
penjualan@contoh. com
2subjectMandatoryBerisi subjek email. Karakter baris baru tidak diperbolehkan Jadwal RapatRincian Pembayaran
Aktivasi Akun
3pesanWajib Isi email yang sebenarnya ada di siniPelanggan yang terhormat, akun Anda telah diaktifkan. 4headersOptionalDigunakan untuk menyertakan header email tambahan seperti. Dari, Cc, Bcc. Nilai-nilai ini harus dipisahkan dengan '\r\n'Dari. penagihan@contoh. com”. “\r\n”. ”CC. akuntansi@contoh. com”5parametersOpsionalDi sini, Anda dapat memberikan tanda tambahan ke server emailBidang ini jarang digunakan
'-fbilling@contoh. com'_Ingatlah untuk mengubah nilai tergantung pada kebutuhan Anda. Anda dapat menggunakan akun email Anda sendiri [mis. g. Gmail] di bidang 'kepada' saat menguji skrip
Setelah Anda selesai mengedit file, simpan di situs web Anda
Langkah 2. Menguji Skrip
Anda dapat menjalankan skrip email PHP di atas dengan mengunjungi URL di browser. Contohnya
www.example.com/mail.php
Ganti 'contoh. com’ dengan nama domain Anda dan ‘mail. php’ dengan jalur file yang benar
Jika semuanya sudah diatur dengan benar, Anda akan menerima email dengan pesan Anda
Kesimpulan
Itu saja untuk menyiapkan dan mengirim email dengan fungsi PHP mail[]. Kami telah mendemonstrasikan pengiriman email langsung dari skrip PHP dengan contoh sederhana. Namun, Anda dapat memperluas skrip lebih lanjut tergantung pada kebutuhan Anda. Misalnya, Anda dapat menambahkannya di akhir skrip formulir kontak untuk menerima email setiap kali pengunjung mengirim pesan dari halaman kontak
Aplikasi PHP seperti WordPress, Joomla dll. mengirim email menggunakan fitur PHP [fungsi alias] yang disebut "mail[]"
Peretas sebagian besar mengeksploitasi fungsi email PHP untuk melakukan spamming
Tidak heran, perusahaan Webhosting menonaktifkan fungsi surat PHP di server sebagai aturan praktis
Ini menyebabkan email dari aplikasi seperti wordpress gagal dengan kesalahan berikut
"The e-mail could not be sent. Possible reason: your host may have disabled the mail[] function."
Pemilik situs web masih membutuhkan cara untuk mengirim email dari situs web mereka. Di Bobcares, kami memberikan solusi untuk pemilik server sebagai bagian dari layanan Dukungan Outsourcing Hosting kami
Hari ini, mari kita bahas dua alasan kegagalan email php dan bagaimana kita memperbaikinya
Apa yang menyebabkan fungsi email php gagal?
Saat Anda menggunakan fungsi email PHP, email dikirim langsung dari identitas server web alias pengguna "bukan siapa-siapa".
Karena semua permintaan web berasal dari identitas "bukan siapa-siapa" yang sama, melacak situs web spam yang sebenarnya di server menjadi sulit
Jadi perusahaan Hosting mempertahankan penyalahgunaan fungsi PHP mail [] dalam dua cara
1. Cegah pengguna "tidak ada" mengirim email
Sebagai sumber spam yang dikenal, sebagian besar server hosting web mencegah semua email dari identitas "tidak ada".
Misalnya, di server cpanel, ada opsi untuk mematikan email dari siapa pun seperti yang ditunjukkan pada gambar di bawah ini
Tetapi tindakan ini juga akan memblokir email dari pengguna yang sah, kecuali jika ada fitur perbaikan di server
Jadi, Teknisi Dukungan kami mengaktifkan modul php khusus seperti suphp, fastcgi, dll. , yang menggunakan identitas situs web sendiri untuk mengirim email
Ini membantu kami mengonfigurasi server email untuk membatasi jumlah email yang dikirim dari setiap situs web
2. Fungsi email hadir dalam daftar disable_functions dari php
Peretas dapat menggunakan fungsi php tertentu seperti "Shell_exec", "system", dll. untuk menyerang server
Jadi perusahaan hosting web menonaktifkan fungsi php berbahaya di server
Ketika fungsi mail[] PHP juga ditambahkan dalam daftar disable_functions, bahkan email dari pengguna resmi pun diblokir
Di server semacam itu, kami membantu pemilik situs web mengonfigurasi situs mereka untuk mengirim email melalui port SMTP alih-alih fungsi mail[] PHP
Untuk itu, kami menyiapkan plugin dan modul untuk situs web seperti “WP Mail SMTP” untuk wordpress, PHPMailer untuk Drupal, dll.
Dengan cara ini, semua email dari situs web mengabaikan fungsi email PHP, dan dikirim melalui port SMTP server email [seperti yang dilakukan klien email seperti Outlook]
Kesimpulan
Kegagalan fungsi PHP mail[] biasanya terjadi karena pembatasan di server Web-hosting. Di sini kami telah membahas dua penyebab yang dilihat oleh Teknisi Dukungan kami dan cara kami memperbaikinya