{"id":5211,"date":"2017-05-03T04:56:43","date_gmt":"2017-05-03T04:56:43","guid":{"rendered":"https:\/\/blog.hostinger.io\/co-id-tutorial\/?p=5211"},"modified":"2025-12-18T23:35:56","modified_gmt":"2025-12-18T16:35:56","slug":"cara-kirim-email-dengan-php","status":"publish","type":"post","link":"\/id\/tutorial\/cara-kirim-email-dengan-php","title":{"rendered":"Cara mengirim email dari web server menggunakan PHP mail() dan PHPMailer"},"content":{"rendered":"<p>Sebagian besar perusahaan memiliki akun email profesional untuk membangun kepercayaan pelanggan. Untuk membuat email tersebut, Anda perlu membeli nama domain dan menyiapkan email bisnis pada klien email atau server Anda.<\/p><p>Apabila memiliki website atau aplikasi web yang dibuat dengan PHP, Anda bisa mengirim email langsung dari web server Anda. Dengan PHP mail, Anda bisa membuat formulir email sendiri dan mengirim email berbasis teks dasar ke beberapa penerima.<\/p><p>Ada dua cara untuk mengirim email dalam PHP: menggunakan <strong>fungsi PHP mail()<\/strong> bawaan, atau library pengiriman email seperti <strong>PHPMailer<\/strong>.<\/p><p>Di artikel ini, kita akan membahas perbedaan PHPMailer dan fungsi <strong>mail()<\/strong>, serta menunjukkan cara mengirim email menggunakan keduanya.<\/p><p>\n\n\n\n\n\n<div class=\"protip\">\n                    <h2 class=\"featured-snippet title\">Apa yang dimaksud dengan PHP mail?<\/h2>\n                    <p>PHP mail adalah fungsi untuk mengirim email menggunakan skrip PHP. Fungsi PHP bawaan ini bisa menargetkan beberapa penerima per pengiriman email. Namun, metode ini tidak bisa mengirim email secara massal tanpa menggunakan paket PHP mail eksternal seperti PHPMailer.<\/p>\n                <\/div>\n\n\n\n<\/p><h2 class=\"wp-block-heading\" id=\"h-kelebihan-dan-kekurangan-phpmailer-vs-fungsi-mail\">Kelebihan dan kekurangan PHPMailer vs fungsi mail()<\/h2><p>Menggunakan PHP mail, administrator website berbasis PHP bisa mengirim email dari <a href=\"\/id\/tutorial\/apa-itu-web-server\">web servernya<\/a> sendiri menggunakan skrip PHP. Fungsi ini populer digunakan sebagai alternatif layanan email hosting eksternal karena terintegrasi dengan web server.<\/p><p>Untuk mengirim email dalam <a href=\"\/id\/tutorial\/apa-itu-php\">PHP<\/a>, Anda bisa menggunakan fungsi <strong>mail()<\/strong> PHP native atau paket mailing PHP eksternal seperti PHPMailer. Berikut adalah penjelasan singkat tentang setiap metode tersebut, termasuk kelebihan dan kekurangannya:<\/p><p><strong>Fungsi PHP mail()<\/strong><\/p><p><strong>mail()<\/strong> adalah fungsi PHP yang menggunakan skrip PHP untuk mengirim email sederhana. Fungsi mail mencakup tiga parameter wajib: <strong>$to<\/strong>, <strong>$subject<\/strong>, dan<strong> $message<\/strong>. Parameter opsional yang bisa digunakan termasuk <strong>$headers<\/strong> dan <strong>$parameters<\/strong>. Kita akan mempelajarinya secara lebih mendetail nanti.<\/p><p>Fungsi PHP bawaan ini menghasilkan nilai <strong>boolean<\/strong> ketika dijalankan, <strong>TRUE<\/strong> kalau server berhasil menerima email untuk dikirim, atau <strong>FALSE<\/strong> kalau gagal.<\/p><p><strong>Kelebihan:<\/strong><\/p><ul class=\"wp-block-list\">\n<li>Sudah terinstal dan siap digunakan, Anda hanya membutuhkan PHP.<\/li>\n\n\n\n<li>Kompatibel dengan versi lama. <a href=\"\/id\/tutorial\/cara-mengganti-versi-php\">Perubahan versi PHP<\/a> tidak akan merusak skrip yang sudah ada.<\/li>\n\n\n\n<li>Mudah dipelajari.<\/li>\n<\/ul><p><strong>Kekurangan:<\/strong><\/p><ul class=\"wp-block-list\">\n<li>Metode pengiriman emailnya sudah ketinggalan zaman, tanpa dukungan bawaan untuk autentikasi modern seperti SPF dan DKIM.<\/li>\n\n\n\n<li>Sering masuk ke folder spam atau sampah karena konfigurasi yang tidak tepat dan tidak adanya autentikasi.<\/li>\n\n\n\n<li>Membutuhkan setup yang rumit untuk SMTP, meningkatkan kemungkinan terpicunya filter spam.<\/li>\n\n\n\n<li>Tidak bisa menangani email dalam jumlah besar secara efektif.<\/li>\n\n\n\n<li>Memiliki batas pengiriman yang lebih rendah dan kurang terjamin dibandingkan dengan PHPMailer.<\/li>\n\n\n\n<li>Menghasilkan nilai <strong>TRUE<\/strong> meskipun email gagal sampai ke penerima.<\/li>\n<\/ul><p>\n\n\n<div><p class=\"important\"><strong>Penting!<\/strong> Bagi klien Hostinger, perlu diingat bahwa batas email yang bisa dikirim melalui PHP mail() saat ini adalah <strong>100\/hari<\/strong> dan <strong>10\/menit<\/strong>. Batas ini akan diatur ulang setiap 24 jam dan akan segera digunakan kalau ada email dalam antrean.<\/p><\/div>\n\n\n\n<\/p><p><strong>PHPMailer<\/strong><\/p><p>PHPMailer adalah library pengiriman email populer yang mendukung pengiriman email melalui fungsi <strong>mail()<\/strong> atau server <a href=\"\/id\/tutorial\/port-smtp\">Simple Mail Transfer Protocol (SMTP)<\/a>. Library ini menyediakan akses ke serangkaian fungsi untuk mengirim email sehingga mempermudah konfigurasi PHP mail manual.<\/p><p><strong>Keunggulan<\/strong>:<\/p><ul class=\"wp-block-list\">\n<li>Mengirim email melalui koneksi yang aman dengan autentikasi SPF dan DKIM sehingga email lebih mungkin diterima di kotak masuk.<\/li>\n\n\n\n<li>Mempermudah konfigurasi email dan mendukung fitur-fitur canggih seperti body HTML dan lampiran.<\/li>\n\n\n\n<li>Mendukung SMTP dengan enkripsi <a href=\"\/id\/tutorial\/apa-itu-ssl\">SSL<\/a> dan <a href=\"\/id\/tutorial\/tls-adalah\">TLS<\/a> yang terintegrasi.<\/li>\n\n\n\n<li>Mampu menangani email dalam jumlah besar secara efisien dalam waktu singkat.<\/li>\n<\/ul><p><strong>Kekurangan<\/strong>:<\/p><ul class=\"wp-block-list\">\n<li>Memerlukan penginstalan manual melalui SSH.<\/li>\n\n\n\n<li>Ada biaya tambahan pada paket web hosting <strong>Single<\/strong> Hostinger karena tidak adanya akses SSH.<\/li>\n\n\n\n<li>Lebih sulit dipelajari dibandingkan dengan fungsi <strong>mail()<\/strong> bawaan.<\/li>\n<\/ul><p>\n\n\n<div><p class=\"important\"><strong>Penting!<\/strong> Apabila Anda menggunakan PHPMailer dengan Titan Mail di Hostinger, batas pengirimannya adalah <strong>1000 email\/hari<\/strong> dan <strong>300 email\/jam<\/strong>. Untuk <a href=\"https:\/\/support.hostinger.com\/id\/articles\/4625828-parameter-dan-limit-hostinger-email\" target=\"_blank\" rel=\"noopener\">layanan email Hostinger<\/a>, batasnya lebih tinggi, yaitu hingga <strong>3000 email\/hari<\/strong> tanpa batas per jam. Cek parameter dan batas untuk setiap layanan karena akan berbeda-beda tergantung pada paket hosting Anda.<\/p><\/div>\n\n\n\n<\/p><h2 class=\"wp-block-heading\" id=\"h-cara-menggunakan-phpmailer-untuk-mengirim-email\">Cara menggunakan PHPMailer untuk mengirim email<\/h2><p>Di bagian ini, kita akan mempelajari cara mengirim email menggunakan PHPMailer. Sebaiknya gunakan koneksi SMTP yang diautentikasi dengan PHPMailer untuk mengoptimalkan pengiriman email Anda agar tidak terkena filter spam.<\/p><h3 class=\"wp-block-heading\" id=\"h-menginstal-phpmailer\"><strong>Menginstal PHPMailer<\/strong><\/h3><p>Cara menginstal PHPMailer pada dasarnya cukup mudah, terutama kalau menggunakan <a href=\"\/id\/tutorial\/cara-install-composer\">Composer<\/a>.<\/p><p>Perlu diperhatikan bahwa <a href=\"\/id\/web-hosting\">paket web hosting Premium dan Business<\/a> serta <a href=\"\/id\/cloud-hosting\">opsi cloud hosting<\/a> di Hostinger sudah menyertakan dua versi Composer.<\/p><p>Gunakan perintah <strong>composer<\/strong> untuk mengaktifkan Composer versi <strong>1.10<\/strong>. Apabila Anda memerlukan versi <strong>2.0<\/strong> yang baru atau menggunakan PHP versi <strong>8.0<\/strong> atau yang lebih baru, jalankan perintah <strong>composer2<\/strong>.<\/p><figure class=\"wp-block-image size-large\"><a href=\"\/id\/\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2023\/02\/ID-Web-hosting_in-text-banner.png\/public\" alt=\"\" class=\"wp-image-29634\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2023\/02\/ID-Web-hosting_in-text-banner.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2023\/02\/ID-Web-hosting_in-text-banner.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2023\/02\/ID-Web-hosting_in-text-banner.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2023\/02\/ID-Web-hosting_in-text-banner.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><p>\n\n\n<div><p class=\"important\">Instal PHPMailer menggunakan Composer melalui SSH agar berjalan dengan baik. Anda tidak bisa menambahkan <strong>phpmailer.php<\/strong> dengan kode SMTP tanpa penginstalan yang tepat. Tenang, kita akan membahasnya nanti dalam panduan ini.<\/p><\/div>\n\n\n\n<\/p><p>Ikuti langkah-langkah berikut untuk menginstal PHPMailer secara manual:<\/p><ol class=\"wp-block-list\">\n<li>Dari <a href=\"\/id\/tutorial\/hpanel-tutorial\">dashboard hPanel<\/a> Anda, buka <strong>Tingkat Lanjut<\/strong> &rarr; <strong>SSH Access<\/strong>, lalu catat <strong>alamat IP<\/strong>, <strong>port<\/strong>, <strong>username<\/strong>, dan <strong>password<\/strong> yang ada di bagian <strong>Detail SSH<\/strong>.<\/li>\n\n\n\n<li>Buka PuTTY dan masukkan informasi SSH Anda pada kolom <strong>Hostname (atau alamat IP)<\/strong> dan <strong>Port<\/strong>. Kemudian, klik <strong>Buka<\/strong>.<\/li>\n\n\n\n<li>Setelah jendela perintah muncul, ketik username dan password SSH Anda, lalu tekan <strong>Enter<\/strong>. Perlu diingat bahwa PuTTY tidak akan menampilkan password, jadi jangan kaget kalau password Anda tidak muncul di layar.<\/li>\n\n\n\n<li>Jalankan perintah berikut untuk membuka direktori <strong>public_html<\/strong>:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">cd public_html<\/pre><ol start=\"5\" class=\"wp-block-list\">\n<li>Jalankan perintah berikut untuk menginstal PHPMailer:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">composer2 require phpmailer\/phpmailer<\/pre><ol start=\"6\" class=\"wp-block-list\">\n<li>Tunggu beberapa saat sampai proses penginstalan selesai. Tampilannya akan seperti berikut:<\/li>\n<\/ol><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"69e0d31e675c6\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"733\" height=\"335\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2017\/05\/proses-penginstalan-composer-selesai.png\/public\" alt=\"skrip yang menunjukkan bahwa proses penginstalan composer selesai\" class=\"wp-image-44099\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2017\/05\/proses-penginstalan-composer-selesai.png\/w=733,fit=scale-down 733w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2017\/05\/proses-penginstalan-composer-selesai.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2017\/05\/proses-penginstalan-composer-selesai.png\/w=150,fit=scale-down 150w\" sizes=\"(max-width: 733px) 100vw, 733px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><p>\n\n<div class=\"protip\">\n                    <h4 class=\"title\">Saran bacaan<\/h4>\n                    <p>Simak tutorial kami tentang <a href=\"\/id\/tutorial\/cara-menggunakan-command-ssh\">perintah SSH<\/a> untuk membantu Anda mengelola server secara lebih optimal.<\/p>\n                <\/div>\n\n\n\n<\/p><h3 class=\"wp-block-heading\" id=\"h-memahami-komponen-phpmailer\">Memahami komponen PHPMailer<\/h3><p>Untuk memahami cara kerja PHPMailer, mari pelajari setiap komponen skrip di atas.<\/p><ul class=\"wp-block-list\">\n<li><strong>use PHPMailer\\PHPMailer\\PHPMailer;<\/strong> &ndash; mengimpor class PHPMailer ke <a href=\"https:\/\/www.php.net\/manual\/en\/language.namespaces.php\" target=\"_blank\" rel=\"noopener\">namespace global<\/a>.<\/li>\n\n\n\n<li><strong>require &lsquo;..\/vendor\/autoload.php&rsquo;;<\/strong> &ndash; menyertakan berbagai library yang dibutuhkan PHPMailer.<\/li>\n\n\n\n<li><strong>$mail = new PHPMailer;<\/strong> &ndash; membuat objek PHPMailer baru.<\/li>\n\n\n\n<li><strong>$mail-&gt;isSMTP(); <\/strong>&ndash; memberi tahu class PHPMailer untuk menggunakan konfigurasi SMTP khusus yang ditentukan dalam skrip, bukan di server email lokal.<\/li>\n\n\n\n<li><strong>$mail-&gt;SMTPDebug = 2;<\/strong> &ndash; mendeteksi error kalau ada yang salah dengan koneksi SMTP.<\/li>\n\n\n\n<li><strong>$mail-&gt;Host = &lsquo;smtp.hostinger.com&rsquo;;<\/strong> &ndash; di sinilah alamat server SMTP harus ditentukan.<\/li>\n\n\n\n<li><strong>$mail-&gt;Port = 587;<\/strong> &ndash; atur port SMTP di sini. Kita akan memilih port SMTP 587 sebagai port pengiriman email default untuk semua jenis transmisi data SMTP.<\/li>\n\n\n\n<li><strong>$mail-&gt;SMTPAuth = true;<\/strong> &ndash; mengaktifkan autentikasi SMTP.<\/li>\n\n\n\n<li><strong>$mail-&gt;Username = &lsquo;mymail@myawesomedomain.tld&rsquo;;<\/strong> &ndash; tentukan alamat email Anda di sini.<\/li>\n\n\n\n<li><strong>$mail-&gt;Password = &lsquo;My$tr0ngPa55w0rd!;<\/strong> &ndash; masukkan password email Anda di sini.<\/li>\n\n\n\n<li><strong>$mail-&gt;setFrom(&lsquo;mymail@myawesomedomain.tld&rsquo;, &lsquo;Your Name&rsquo;); <\/strong>&ndash; di sinilah Anda memasukkan alamat email pengirim.<\/li>\n\n\n\n<li><strong>$mail-&gt;addReplyTo(&lsquo;mymail@myawesomedomain.tld&rsquo;, &lsquo;Your Name&rsquo;);<\/strong> &ndash; memberi tahu penerima tentang alamat yang perlu digunakan untuk membalas pesan.<\/li>\n\n\n\n<li><strong>$mail-&gt;addAddress(&lsquo;recipient@domain.tld&rsquo;, &lsquo;Receiver Name&rsquo;);<\/strong> &ndash; masukkan alamat penerima di sini.<\/li>\n\n\n\n<li><strong>$mail-&gt;Subject = &lsquo;Checking if PHPMailer works&rsquo;;<\/strong> &ndash; tambahkan subjek email di sini.<\/li>\n\n\n\n<li><strong>$mail-&gt;msgHTML(file_get_contents(&lsquo;message.html&rsquo;), __DIR__);<\/strong> &ndash; membaca isi pesan HTML dari file eksternal. Fungsi <strong>file_get_contents()<\/strong> akan memuat konten dari <strong>message.html<\/strong>, yaitu file lokal yang terletak di direktori <strong>public_html<\/strong>, lalu menyertakannya dalam pesan.<\/li>\n\n\n\n<li><strong>$mail-&gt;Body = &lsquo;This is just a plain text message body&rsquo;;<\/strong> &ndash; memuat isi pesan email.<\/li>\n\n\n\n<li><strong>\/\/$mail-&gt;addAttachment(&lsquo;attachment.txt&rsquo;);<\/strong> &ndash; kalau Anda ingin menyertakan lampiran, tambahkan nama filenya dan hapus garis miring ganda dari pernyataan ini.<\/li>\n\n\n\n<li><strong>if (!$mail-&gt;send()) {<\/strong> &ndash; menentukan tindakan yang terjadi saat skrip dijalankan.<\/li>\n\n\n\n<li><strong>echo &lsquo;Mailer Error:&rsquo;. $mail-&gt;ErrorInfo;<\/strong> &ndash; Anda akan melihat pesan error beserta detailnya kalau skrip gagal dikirim.<\/li>\n\n\n\n<li><strong>} else { <\/strong>&ndash; memperluas pernyataan <strong>if<\/strong> dan menjelaskan tindakan yang terjadi kalau kondisi sebelumnya tidak terpenuhi.<\/li>\n\n\n\n<li><strong>echo &lsquo;The email message was sent!&rsquo;;<\/strong> &ndash; menandakan proses pengiriman email berhasil.<\/li>\n<\/ul><p>\n\n\n<div class=\"protip\">\n                    <h4 class=\"title\">Tips berguna<\/h4>\n                    <p>Baris <strong>SMTPDebug = 2;<\/strong> hanya bisa digunakan ketika Anda menguji skrip dan ingin melihat cara kerja skrip tersebut. Jangan lupa mengubahnya menjadi <strong>SMTPDebug = 0;<\/strong> setelah selesai melakukan pengujian untuk mencegah penerima mendapatkan laporan pengiriman protokol SMTP.<\/p>\n                <\/div>\n\n\n\n<\/p><h3 class=\"wp-block-heading\" id=\"h-menggunakan-phpmailer-dengan-smtp-hostinger\">Menggunakan PHPMailer dengan SMTP Hostinger<\/h3><p>Setelah menginstal PHPMailer, Anda bisa mulai mengirim email dalam PHP. Bagian ini akan menjelaskan cara mengirim email melalui server SMTP Hostinger menggunakan PHPMailer.<\/p><p>Untuk melakukannya, ikuti langkah-langkah di bawah ini:<\/p><ol class=\"wp-block-list\">\n<li><a href=\"\/id\/tutorial\/cara-membuat-email-dengan-domain-sendiri\">Buat akun email domain<\/a> dengan mengakses <strong>hPanel<\/strong>, lalu buka <strong>Email <\/strong>&rarr; <strong>Akun Email<\/strong> &rarr; <strong>Buat akun email<\/strong>.<\/li>\n\n\n\n<li>Isi alamat email baru dan password Anda. Setelah itu, klik <strong>Buat<\/strong>. Ingat informasi ini karena Anda akan membutuhkannya untuk mengirim email melalui PHPMailer.<\/li>\n\n\n\n<li>Dari halaman yang sama, buka <strong>Pengaturan Konfigurasi<\/strong> &rarr; <strong>Konfigurasi Manual<\/strong>, lalu catat <strong>Port SMTP<\/strong> dan <strong>Hostname<\/strong> yang ditampilkan.<\/li>\n\n\n\n<li>Akses dashboard <strong>hPanel<\/strong> dan buka <strong>File<\/strong> &rarr; <strong>File Manager<\/strong>. Klik folder <strong>public_html<\/strong> dan pilih <strong>Tambah Baru<\/strong> untuk membuat file baru. Beri nama file tersebut dengan <strong>phpmailer.php<\/strong>, lalu klik <strong>Buat<\/strong>.<\/li>\n\n\n\n<li>Klik dua kali file <strong>phpmailer.php<\/strong>, lalu salin dan tempelkan kode di bawah ini setelah membuat semua perubahan yang diperlukan. Pastikan untuk mengganti <strong>mymail@myawesomedomain.tld<\/strong> dan <strong>recipient@domain.tld<\/strong> dengan nama domain Anda, lalu <strong>My$tr0ngPa55w0rd!<\/strong> dengan password email Anda.<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\nrequire 'vendor\/autoload.php';\nuse PHPMailer\\PHPMailer\\PHPMailer;\n$mail = new PHPMailer;\n$mail-&gt;isSMTP();\n$mail-&gt;SMTPDebug = 2;\n$mail-&gt;Host = 'smtp.hostinger.com';\n$mail-&gt;Port = 587;\n$mail-&gt;SMTPAuth = true;\n$mail-&gt;Username = 'mymail@myawesomedomain.tld';\n$mail-&gt;Password = 'My$tr0ngPa55w0rd!';\n$mail-&gt;setFrom('mymail@myawesomedomain.tld', 'Your Name');\n$mail-&gt;addReplyTo('mymail@myawesomedomain.tld', 'Your Name');\n$mail-&gt;addAddress('recipient@domain.tld', 'Receiver Name');\n$mail-&gt;Subject = 'Checking if PHPMailer works';\n$mail-&gt;msgHTML(file_get_contents('message.html'), __DIR__);\n$mail-&gt;Body = 'This is just a plain text message body';\n\/\/$mail-&gt;addAttachment('attachment.txt');\nif (!$mail-&gt;send()) {\necho 'Mailer Error:'. $mail-&gt;ErrorInfo;\n} else {\necho 'The email message was sent.';\n}\n?&gt;<\/pre><ol start=\"6\" class=\"wp-block-list\">\n<li>Setelah mengedit kode, klik <strong>Simpan &amp; Tutup<\/strong>. Untuk menjalankan skrip tersebut, masukkan <strong>domainanda.tld\/phpmailer.php<\/strong> di web browser.<\/li>\n<\/ol><p>\n\n\n<div class=\"protip\">\n                    <h4 class=\"title\">Mengonfigurasi Titan SMTP<\/h4>\n                    <p>Apabila Anda menggunakan Titan Mail, buat koneksi melalui port <strong>465<\/strong> (SSL) atau <strong>587<\/strong> (STARTTLS). Buka <strong>Email<\/strong> &rarr; <strong>Konfigurasi Aplikasi Desktop<\/strong> untuk melihat <a href=\"https:\/\/support.hostinger.com\/id\/articles\/5966022-bagaimana-cara-menemukan-detail-konfigurasi-email-untuk-titan-email\" target=\"_blank\" rel=\"noopener\">informasi konfigurasi akun email<\/a> Anda. Selain itu, Anda bisa membaca <a href=\"https:\/\/support.titan.email\/hc\/en-us\/articles\/900000215446-Configure-Titan-on-other-apps-using-IMAP-POP\" target=\"_blank\" rel=\"noopener\">tutorial resmi Titan<\/a> untuk mendapatkan informasi pengaturan SMTP, IMAP, atau POP yang benar.<\/p>\n                <\/div>\n\n\n\n<\/p><h3 class=\"wp-block-heading\" id=\"h-membuat-formulir-kontak-phpmailer\">Membuat formulir kontak PHPMailer<\/h3><p>Selain mengirim PHP mail sederhana, Anda juga bisa menggunakan PHPMailer untuk membuat berbagai formulir kontak, seperti survei masukan.<\/p><p>Seperti skrip PHP sebelumnya, buat file PHP baru di folder <strong>public_html<\/strong> dan beri nama <strong>formscript.php<\/strong>. Salin dan tempelkan skrip di bawah ini ke file baru tersebut dan ubah nilainya sesuai kebutuhan:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\nuse PHPMailer\\PHPMailer\\PHPMailer;\n$msg = '';\nif (array_key_exists('email', $_POST)) {\nrequire 'vendor\/autoload.php';\n$mail = new PHPMailer;\n$mail-&gt;isSMTP();\n$mail-&gt;Host = 'smtp.hostinger.com';\n$mail-&gt;Port = 587;\n$mail-&gt;SMTPDebug = 0;\n$mail-&gt;SMTPAuth = true;\n$mail-&gt;Username = 'mymail@myawesomedomain.tld';\n$mail-&gt;Password = 'My$tr0ngPa55w0rd!';\n$mail-&gt;setFrom('mymail@myawesomedomain.tld', 'Mr. Snuffles');\n$mail-&gt;addAddress('recipient@domain.tld', 'Receiver Name');\nif ($mail-&gt;addReplyTo($_POST['email'], $_POST['name'])) {\n$mail-&gt;Subject = 'PHPMailer contact form';\n$mail-&gt;isHTML(false);\n$mail-&gt;Body = &lt;&lt;&lt;EOT\nEmail: {$_POST['email']}\nName: {$_POST['name']}\nMessage: {$_POST['message']}\nEOT;\nif (!$mail-&gt;send()) {\n$msg = 'Sorry, something went wrong. Please try again later.';\n} else {\n$msg = 'Message sent! Thanks for contacting us.';\n}\n} else {\n$msg = 'Share it with us!';\n}\n}\n?&gt;\n&lt;!DOCTYPE html&gt;\n&lt;html lang=\"en\"&gt;\n&lt;head&gt;\n&lt;meta charset=\"UTF-8\"&gt;\n&lt;title&gt;Contact form&lt;\/title&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n&lt;h1&gt;Contact us&lt;\/h1&gt;\n&lt;?php if (!empty($msg)) {\necho \"&lt;h2&gt;$msg&lt;\/h2&gt;\";\n} ?&gt;\n&lt;form method=\"POST\"&gt;\n&lt;label for=\"name\"&gt;Name: &lt;input type=\"text\" name=\"name\" id=\"name\"&gt;&lt;\/label&gt;&lt;br&gt;\n&lt;label for=\"email\"&gt;Email address: &lt;input type=\"email\" name=\"email\" id=\"email\"&gt;&lt;\/label&gt;&lt;br&gt;\n&lt;label for=\"message\"&gt;Message: &lt;textarea name=\"message\" id=\"message\" rows=\"8\" cols=\"20\"&gt;&lt;\/textarea&gt;&lt;\/label&gt;&lt;br&gt;\n&lt;input type=\"submit\" value=\"Send\"&gt;\n&lt;\/form&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;<\/pre><p>\n\n\n<div class=\"protip\">\n                    <h4 class=\"title\">Tips berguna<\/h4>\n                    <p>Tidak disarankan untuk mengambil input pengguna dari <strong>$_POST<\/strong> tanpa pengamanan karena bisa meningkatkan risiko serangan <strong>cross-site scripting (XSS)<strong>. Guna mencegahnya, simak <a href=\"https:\/\/www.geeksforgeeks.org\/what-are-the-best-input-sanitizing-functions-in-php\" target=\"_blank\" rel=\"noopener\">tips terbaik untuk mengamankan variabel PHP<\/a>.<\/p>\n                <\/div>\n\n\n\n<p>Simpan perubahan dan jalankan skrip tersebut dari web browser.<\/p>\n\n\n\n<p>Seperti inilah hasilnya nanti:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"69e0d31e68236\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"726\" height=\"605\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2017\/05\/contoh-form-contact-us.png\/public\" alt=\"contoh form contact us yang dibuat menggunakan PHP dan HTML\" class=\"wp-image-44100\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2017\/05\/contoh-form-contact-us.png\/w=726,fit=scale-down 726w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2017\/05\/contoh-form-contact-us.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2017\/05\/contoh-form-contact-us.png\/w=150,fit=scale-down 150w\" sizes=\"(max-width: 726px) 100vw, 726px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div>\n\n\n<p>Apabila pengunjung mengirimkan pesan melalui formulir tersebut, mereka akan mendapatkan konfirmasi. Konten formulir akan dikirim ke alamat email yang Anda masukkan di sini:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$mail-&gt;addAddress('recipient@domain.tld', 'Receiver Name');<\/pre>\n\n\n<div class=\"protip\">\n                    <h4 class=\"title\">Tips berguna<\/h4>\n                    <p>Apabila formulir kontak PHPMailer tidak berfungsi, ubah baris <strong>$mail-&gt;SMTPDebug = 0;<\/strong> menjadi <strong>$mail-&gt;SMTPDebug = 2<\/strong> untuk mencari tahu penyebabnya. Jangan lupa untuk menghapus baris tersebut atau mengubah angka <strong>2<\/strong> menjadi <strong>0<\/strong> setelahnya.<\/p>\n                <\/div>\n\n\n\n<p>Kunjungi <a href=\"https:\/\/github.com\/PHPMailer\/PHPMailer\/tree\/master\/examples\" target=\"_blank\" rel=\"noopener\">repositori resmi PHPMailer<\/a> di GitHub untuk melihat contoh-contoh lain tentang cara menggunakan library pengiriman email ini.<\/p>\n\n\n\n<p>Kalau menggunakan WordPress, Anda bisa membuat formulir dengan lebih mudah menggunakan plugin contact form&nbsp;seperti <strong>Formidable Forms<\/strong>, <strong>Contact Form 7<\/strong>, atau <strong>WPForms<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-cara-mengirim-email-menggunakan-php-mail\">Cara mengirim email menggunakan PHP mail()<\/h2>\n\n\n\n<p>Cara berikutnya untuk mengirim email dari PHP secara langsung adalah dengan menggunakan fungsi <strong>mail()<\/strong> bawaan.<\/p>\n\n\n\n<p>Untuk menggunakan fitur ini, pengguna yang menghosting aplikasi atau website PHP di server lokal harus mengonfigurasi program <strong>Sendmail<\/strong> dengan mengubah file php.ini di folder penginstalan PHP.<\/p>\n\n\n\n<p>Apabila Anda menggunakan server hosting, <strong>Sendmail<\/strong> biasanya sudah dikonfigurasikan secara default. Namun, pastikan lagi bahwa provider hosting Anda mengizinkan Anda untuk mengelola opsi layanan <strong>Sendmail<\/strong> secara manual.<\/p>\n\n\n\n<p>Secara default, layanan <strong>Sendmail<\/strong> sudah diaktifkan. Meski begitu, sebaiknya Anda mengeceknya ulang untuk memastikannya.<\/p>\n\n\n<div><p class=\"important\"><strong>Penting!<\/strong> Titan Mail mengaktifkan fungsi PHP <strong>mail()<\/strong> secara default. Oleh karena itu, Anda tidak bisa mengaktifkan atau menonaktifkannya di hPanel.<\/p><\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-memahami-komponen-php-mail\">Memahami komponen PHP mail<\/h3>\n\n\n\n<p>Untuk membantu Anda memahami fungsi <strong>mail()<\/strong> PHP, kita akan mempelajari komponen-komponen skrip PHP yang digunakan di bagian sebelumnya.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ini_set( 'display_errors', 1 );\nerror_reporting( E_ALL );<\/pre>\n\n\n\n<p>Dua baris pertama di atas mengaktifkan pelaporan error untuk memberi tahu Anda apabila skrip PHP gagal dijalankan.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$from = \"mymail@myawesomedomain.tld\";<\/pre>\n\n\n\n<p>Baris ini berisi alamat email pengirim. Sebagian besar provider hosting melarang penambahan alamat email acak di bagian ini karena risiko <a href=\"https:\/\/www.malwarebytes.com\/spoofing\/\" target=\"_blank\" rel=\"noopener\">spoofing<\/a>. Jadi, sebaiknya gunakan domain yang sama dengan nama domain Anda agar skrip berhasil dijalankan.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$to = \"recipient@domain.tld\";<\/pre>\n\n\n\n<p>Alamat email penerima ada di sini. Pisahkan alamat email dengan tanda koma kalau Anda ingin mengirim beberapa email.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$subject = \"Checking PHP mail\";<\/pre>\n\n\n\n<p>Masukkan baris subjek email di sini.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$message = \"PHP mail works just fine\";<\/pre>\n\n\n\n<p>Di sini, masukkan isi pesan email Anda.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$headers = \"From:\" . $from;<\/pre>\n\n\n\n<p>Baris ini biasanya menyertakan header tambahan, seperti <strong>Dari<\/strong>, <strong>Balas-Ke<\/strong>, dan <strong>Cc<\/strong>. Anda bisa memisahkannya dengan <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Glossary\/CRLF\" target=\"_blank\" rel=\"noopener\">CRLF<\/a>.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">if (mail ($to,$subject,$message,$headers))<\/pre>\n\n\n\n<p>Skrip ini menjalankan fungsi <strong>mail()<\/strong> dan memeriksa apakah fungsi tersebut berhasil dijalankan.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">echo \"The email message was sent.\";<\/pre>\n\n\n\n<p>Pesan di atas akan muncul kalau fungsi <strong>mail()<\/strong> berhasil dijalankan.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">echo \"The email message was not sent.\";<\/pre>\n\n\n\n<p>Sebagai alternatif, Anda akan melihat pesan ini kalau fungsi <strong>mail()<\/strong> gagal.<\/p>\n\n\n\n<p>Meskipun header tambahan bersifat opsional, penting untuk menyertakan header <strong>Dari<\/strong>ketika Anda mengirim email. Kalau tidak, Anda akan menerima notifikasi seperti ini:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Warning: mail(): \"sendmail_from\" not set in php.ini or custom \"From:\" header missing.<\/pre>\n\n\n\n<p>Untuk mendapatkan informasi selengkapnya tentang fungsi <strong>Sendmail<\/strong> dan parameternya, silakan baca <a href=\"https:\/\/www.php.net\/manual\/en\/function.mail.php\" target=\"_blank\" rel=\"noopener\">dokumentasi resmi PHP<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-membuat-file-uji-coba-untuk-php-mail\">Membuat file uji coba untuk PHP mail<\/h3>\n\n\n\n<p>Setelah memastikan <strong>Sendmail<\/strong> sudah aktif, buat file PHP mail di dalam direktori <strong>public_html<\/strong>.<\/p>\n\n\n\n<p>Berikut cara melakukannya:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Dari <strong>hPanel<\/strong>, buka<strong> File <\/strong>&rarr; <strong>File Manager<\/strong> untuk mengakses <strong>File Manager Hostinger<\/strong>.<\/li>\n\n\n\n<li>Klik dua kali folder <strong>public_html<\/strong> dan pilih ikon <strong>File Baru<\/strong> di bagian atas. Beri nama file baru ini dengan <strong>testmail.php<\/strong>, lalu klik <strong>Buat<\/strong>.<\/li>\n\n\n\n<li>Klik dua kali <strong>testmail.php<\/strong> untuk mengeditnya. Anda bisa menggunakan kode PHP dasar di bawah ini, tapi jangan lupa untuk mengubah parameternya:<\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"php\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\nini_set( 'display_errors', 1 );\nerror_reporting( E_ALL );\n$from = \"mymail@myawesomedomain.tld\";\n$to = \"recipient@domain.tld\";\n$subject = \"Checking PHP mail\";\n$message = \"PHP mail works just fine\";\n$headers = \"From:\" . $from;\nif(mail($to,$subject,$message, $headers)) {\necho \"The email message was sent.\";\n} else {\necho \"The email message was not sent.\";\n}\n?&gt;<\/pre>\n\n\n\n<ol start=\"4\" class=\"wp-block-list\">\n<li>Klik <strong>Simpan &amp; Tutup <\/strong>setelah selesai.<\/li>\n\n\n\n<li>Kirim email dengan mengakses <strong>domainanda.tld\/testmail.php<\/strong> dari web browser. Jangan lupa untuk mengganti &ldquo;<strong>yourdomain.tld<\/strong>&rdquo; dengan domain yang digunakan saat membuat <strong>testmail.php<\/strong>.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-mengirim-email-html-dengan-php\">Mengirim email HTML dengan PHP<\/h3>\n\n\n\n<p>Fungsi PHP <strong>mail()<\/strong> juga bisa mengirim email HTML. Format ini bisa dikustomisasi dalam lebih banyak cara dibandingkan dengan pesan teks biasa.<\/p>\n\n\n\n<p>Proses mengirim email HTML juga tidak jauh berbeda, Anda hanya perlu menyertakan pesan HTML dan header parameter tambahan.<\/p>\n\n\n\n<p>Berikut contoh skrip dasar untuk mengirim email HTML:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"php\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\nini_set( 'display_errors', 1 );\nerror_reporting( E_ALL );\n$from = \"mymail@myawesomedomain.tld\";\n$to = \"recipient@domain.tld\";\n$subject = \"Checking PHP mail\";\n$message = \"\n&lt;html&gt;\n&lt;head&gt;\n&lt;title&gt;This is a test HTML email&lt;\/title&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n&lt;p&gt;Hi, it's a test email. Please ignore.&lt;\/p&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;\n\";\n\/\/ The content-type header must be set when sending HTML email\n$headers = \"MIME-Version: 1.0\" . \"\\r\\n\";\n$headers .= \"Content-type:text\/html;charset=UTF-8\" . \"\\r\\n\";\n$headers = \"From:\" . $from;\nif(mail($to,$subject,$message, $headers)) {\necho \"Message was sent.\";\n} else {\necho \"Message was not sent.\";\n}\n?&gt;<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-error-umum-php-mail-dan-phpmailer-beserta-solusinya\">Error umum PHP mail dan PHPMailer beserta solusinya<\/h2>\n\n\n\n<p>Kali ini, kita akan mempelajari beberapa masalah yang paling umum ketika menggunakan fungsi PHP <strong>mail()<\/strong> atau PHPMailer beserta cara memperbaikinya.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-sender-address-rejected-not-owned-by-the-user\">Sender address rejected: not owned by the user<\/h3>\n\n\n\n<p>Error ini berarti server tidak bisa mengautentikasi pengirim menggunakan informasi yang diberikan. Untuk mengatasinya, periksa alamat email yang Anda gunakan untuk mengirim pesan, dan pastikan alamat email tersebut sesuai dengan alamat email yang ada.<\/p>\n\n\n\n<p>Selain itu, pastikan <strong>Sender Policy Framework (SPF)<\/strong> Anda diaktifkan. Apabila menggunakan Hostinger, cek SPF record Anda melalui <strong>hPanel<\/strong> dengan membuka bagian <strong>Email <\/strong>&rarr; <strong>Akun Email Anda<\/strong> &rarr; <strong>Hubungkan Domain<\/strong> &rarr; <strong>Lindungi reputasi email Anda<\/strong>.<\/p>\n\n\n\n<p>Apabila SPF record diaktifkan, statusnya akan ditampilkan sebagai <strong>Terhubung<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-gmail-couldn-t-verify-that-domain-tld-sent-this-message\">Gmail couldn&rsquo;t verify that domain.tld sent this message<\/h3>\n\n\n\n<p>Apabila Anda melihat peringatan ini saat menguji skrip PHP mail, penyebabnya mungkin salah satu dari yang berikut ini:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Tidak ada SPF record di DNS Zone domain<\/strong> &ndash; kalau record tidak ada atau Anda menggunakan nameserver eksternal, tambahkan TXT SPF record baru secara manual melalui hPanel atau cPanel.<\/li>\n\n\n\n<li><strong>Anda menggunakan informasi autentikasi SMTP yang tidak valid<\/strong> &ndash; pastikan untuk menggunakan alamat email yang ada dan milik Anda sendiri.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-email-masuk-ke-folder-spam\">Email masuk ke folder spam<\/h3>\n\n\n\n<p>Ada berbagai alasan PHP mail bisa memicu filter spam. Beberapa penyebab yang paling umum termasuk:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Subjek yang melenceng atau seperti spam<\/strong> &ndash; biasanya terjadi ketika Anda menggunakan istilah seperti &ldquo;tes&rdquo; atau &ldquo;urgent.&rdquo; Pastikan untuk menjelaskan maksud Anda dengan benar di baris <strong>Subjek<\/strong>.<\/li>\n\n\n\n<li><strong>Alamat pengirim yang salah<\/strong> &ndash; menambahkan alamat yang salah bisa memicu mekanisme keamanan untuk memfilter email Anda guna mencegah penipuan dan pemalsuan.<\/li>\n\n\n\n<li><strong>Menggunakan kata-kata pemicu spam<\/strong> &ndash; hapus kata-kata pemicu spam, seperti &ldquo;penawaran menarik&rdquo; dan &ldquo;ini bukan spam&rdquo; dari pesan Anda untuk meningkatkan kredibilitas email.<\/li>\n\n\n\n<li><strong>Milis Anda tidak memiliki link berhenti berlangganan<\/strong> &ndash; pastikan untuk menyertakan tombol berhenti berlangganan (unsubscribe) untuk <a href=\"\/id\/tutorial\/kenapa-email-masuk-spam\">mencegah email masuk spam<\/a> dan membangun kepercayaan penerima.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-tidak-bisa-tersambung-ke-host-smtp\">Tidak bisa tersambung ke host SMTP<\/h3>\n\n\n\n<p>Versi PHP yang lebih baru biasanya memiliki prosedur SSL yang lebih ketat. Apabila fungsi PHP <strong>mail()<\/strong> gagal dijalankan setelah Anda mengupdate PHP ke versi terbaru, penyebabnya mungkin justru update tersebut.<\/p>\n\n\n\n<p>Menggunakan PHPMailer dengan beberapa provider hosting juga biasanya memicu kesalahan kode ini.<\/p>\n\n\n\n<p>Sebagai contoh, menurut <a href=\"https:\/\/github.com\/PHPMailer\/PHPMailer\/wiki\/Troubleshooting#php-56-certificate-verification-failure\" target=\"_blank\" rel=\"noopener\">wiki PHPMailer<\/a>, GoDaddy memblokir koneksi SMTP keluar melalui port <strong>25<\/strong>, <strong>465<\/strong>, dan <strong>587<\/strong> ke server pihak ketiga seperti Gmail dan Hotmail, kecuali server mereka sendiri. Selain itu, integrasi dengan server SMTP pihak ketiga juga tidak didukung.<\/p>\n\n\n\n<p>Gunakan skrip berikut untuk mengatasi error ini:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$mail-&gt;SMTPOptions = array( \n'ssl' =&gt; array( \n'verify_peer' =&gt; false, \n'verify_peer_name' =&gt; false, \n'allow_self_signed' =&gt; true \n) \n);<\/pre>\n\n\n<div><p class=\"important\"><strong>Penting!<\/strong> Hindari menerapkan perubahan ini secara global di <strong>php.ini<\/strong> karena akan menyebabkan koneksi yang tidak aman, yang sebenarnya telah diatasi oleh PHP sejak versi <strong>5.6<\/strong>.<\/p><\/div>\n\n\n\n<p>Karena SMTP Hostinger tidak bermasalah dalam hal ini, Anda bisa mencoba beralih ke <a href=\"\/id\/email-hosting\">layanan email bisnis<\/a> kami untuk mengoptimalkan penggunaan email Anda.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"\/id\/email-hosting\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2023\/02\/ID-Email-hosting_in-text-banner.png\/public\" alt=\"\" class=\"wp-image-29620\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2023\/02\/ID-Email-hosting_in-text-banner.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2023\/02\/ID-Email-hosting_in-text-banner.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2023\/02\/ID-Email-hosting_in-text-banner.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2023\/02\/ID-Email-hosting_in-text-banner.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-kesimpulan\">Kesimpulan<\/h2>\n\n\n\n<p>Anda bisa mengirim email dengan PHP menggunakan fungsi <strong>mail()<\/strong> atau library pengiriman email seperti PHPMailer. Fungsi mail() cocok untuk mengirim pesan berbasis teks sederhana dalam jumlah kecil, sedangkan PHPMailer lebih ideal untuk mengirim email secara massal atau membuat formulir kontak.<\/p>\n\n\n\n<p>Anda bisa memanfaatkan fungsi PHP mail bawaan dengan membuat file PHP baru di direktori <strong>public_html<\/strong> dan menjalankan skrip menggunakan web browser.<\/p>\n\n\n\n<p>Di sisi lain, mengirim email dengan PHPMailer membutuhkan penginstalan library kode melalui Composer, membuat akun email untuknya, dan mengonfigurasi pengaturan SMTP hosting Anda.<\/p>\n\n\n\n<p>Dalam tutorial ini, kami sudah membahas cara menginstal PHPMailer, membuat skrip pengujian, dan menyiapkan formulir kontak sederhana. Anda juga sudah mempelajari cara mengirim email dengan PHP <strong>mail()<\/strong> dan menyelesaikan error umum selama proses pengiriman email.<\/p>\n\n\n\n<p>Mudah-mudahan, tutorial ini bermanfaat bagi Anda, ya. Apabila masih memiliki pertanyaan, silakan sampaikan lewat kolom komentar di bawah ini.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-tanya-jawab-faq-cara-mengirim-email-dengan-php-mail\">Tanya jawab (FAQ) cara mengirim email dengan PHP mail<\/h2>\n\n\n<div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<div id=\"faq-question-69442d6c6fc27\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><strong>Bisakah mengirim email dari PHPMailer ke Gmail atau layanan email lainnya?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Tergantung pada provider hosting Anda. Dengan GoDaddy, Anda tidak bisa mengirim email ke kotak masuk yang menerapkan protokol autentikasi email SPF dan DKIM seperti Gmail, Yahoo, dan Hotmail. Namun, masalah ini tidak terjadi di Hostinger. Hubungi web host Anda untuk mengklarifikasi pengaturan SMTP-nya dan apakah mereka mendukung PHPMailer dengan server SMTP eksternal.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-69442d6c6fc2a\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><strong>Bagaimana cara memastikan alamat email sebelum menggunakan PHP mail() atau PHPMailer untuk mengirim email?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Anda bisa menggunakan fungsi <strong>filter_var ()<\/strong> dan meneruskan alamat email ke filter <strong>FILTER_VALIDATE_EMAIL<\/strong>. Filter ini akan memverifikasi bahwa email valid, memastikan email tersebut tidak mengandung karakter yang tidak didukung atau spasi kosong.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div><\/strong><\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Sebagian besar perusahaan memiliki akun email profesional untuk membangun kepercayaan pelanggan. Untuk membuat email tersebut, Anda perlu membeli nama domain dan menyiapkan email bisnis pada klien email atau server Anda. Apabila memiliki website atau aplikasi web yang dibuat dengan PHP, Anda bisa mengirim email langsung dari web server Anda. Dengan PHP mail, Anda bisa membuat [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/id\/tutorial\/cara-kirim-email-dengan-php\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":190,"featured_media":39313,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rank_math_title":"Cara kirim email dengan PHP mail() dan PHPMailer","rank_math_description":"PHP bisa digunakan untuk mengirim email melalui web server menggunakan fungsi PHP mail() dan PHPMailer. Yuk, baca caranya di artikel ini!","rank_math_focus_keyword":"mengirim email PHP, cara kirim email dengan php","footnotes":""},"categories":[4820],"tags":[9193,6746,6747,7832,6302,9192,7831,6577],"class_list":["post-5211","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-email","tag-cara-kirim-emai-dengan-php","tag-email","tag-fungsi-mail-php","tag-kirim-email","tag-php","tag-php-mail","tag-phpmailer","tag-website"],"hreflangs":[],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/id\/tutorial\/wp-json\/wp\/v2\/posts\/5211","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/id\/tutorial\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/id\/tutorial\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/id\/tutorial\/wp-json\/wp\/v2\/users\/190"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/id\/tutorial\/wp-json\/wp\/v2\/comments?post=5211"}],"version-history":[{"count":29,"href":"https:\/\/www.hostinger.com\/id\/tutorial\/wp-json\/wp\/v2\/posts\/5211\/revisions"}],"predecessor-version":[{"id":47261,"href":"https:\/\/www.hostinger.com\/id\/tutorial\/wp-json\/wp\/v2\/posts\/5211\/revisions\/47261"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/id\/tutorial\/wp-json\/wp\/v2\/media\/39313"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/id\/tutorial\/wp-json\/wp\/v2\/media?parent=5211"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/id\/tutorial\/wp-json\/wp\/v2\/categories?post=5211"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/id\/tutorial\/wp-json\/wp\/v2\/tags?post=5211"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}