Tapi perlu dicatat bahwa konsep dan praktik ini tidak bisa digunakan untuk semua hosting, apalagi menggunakan hosting gratis, meskipun tidak semua hosting gratis memangkas fitur web mail. Selalu gunakan hosting berbayar yang memiliki fasilitas lengkap. Dan jika ada masalah di konfigurasi SMTP, jangan sungkan untuk menanyakan langsung ke penyedia hosting. Malu bertanya sesat di kamar ! Show
Saya menerima beberapa pertanyaan dari sobat yang sudah mencoba tutorial menghubungkan form ke email dengan PHPmailer, Beberapa diantaranya bertanya mengapa mereka tidak menerima email, walaupun sudah mengikuti petunjuk dalam video tutorial. Berikut ini beberapa hal yang mungkin menyebabkan gagalnya form mengirimkan isian ke email:1. Hosting yang dipakai tidak support untuk mengirimkan email melalui PHPBeberapa hosting khususnya hosting gratis tidak mengijinkan atau mendisable pengiriman email melalui form PHP, jadi script form yang menggunakan PHPmailer tidak dapat berfungsi. Hal ini mungkin berkaitan dengan pencegahan penggunaan free hosting tersebut untuk aktivitas pengiriman email spam. Namun, biasanya mereka menawarkan feature send email melalui PHP pada paket hosting berbayar mereka. Nah,jadi pastikan dulu hosting yang dipakai apakah bisa mengirimkan email melalui PHP dengan menghubungi support hosting yang Anda Pakai. Jika Anda kebetulan belum mempunyai hosting, dan belum memilih hosting yang akan anda gunakan untuk menghost domain dan mengirimkan email, Anda bisa ambil trial hosting untuk memastikan apakah email di tempat hosting bisa digunakan dan berfungsi dengan baik. Jika hosting yang akan anda pakai ternyata tidak menawarkan trial, maka carilah web hosting yang menawarkan money back guarantee jika Anda tidak puas. Jadi jika ternyata email yang digunakan tidak bisa digunakan dengan PHPmailer, atau ternyata setelah emailnya dipakai menggunakan PHPmailer bisa, namun masuk ke folder spam email penerima, Anda bisa pindah hosting dengan tidak mengalami kerugian. Dan alternatif lain carilah hosting yang menawarkan paket bulanan termurah,sehingga Anda bisa mengujinya dan bisa beralih hoting ke tempat lain dengan tanpa mengalami banyak kerugian. Beberapa hosting yang saya rekomendasi dan sudah teruji berhasil untuk digunakan emailnya menggunakan PHPmailer adalah: Daiserver Idwebhost Hawkhost 2. Salah Setting Email untuk PHPmailerPenyebab lain gagalnya terkirimnya email saat menggunakan PHPmailer adalah salah setting. Perhatikan baik baik setting email yang digunakan untuk mengirimkan isian form. Pastikan username dan password email yang digunakan benar, Anda bisa mencobanya dengan login ke webmail website Anda, jika berhasil login dan berhasil mengirimkan email melalui webmail yang tersedia (misalnya melalui Horde atau Roundcube),maka email dan passwordnya sudah benar. Pastikan host yang digunakan benar, biasanya adalah mail.domain.tld seperti mail.domain.com dan sebagainya, pastikan juga portnya sudah benar biasanya 587. Pastikan SMTPSecure juga benar, biasanya adalah tls. Untuk melihat port,host, dan SMTPSecure ,silahkan lihat di data settingan email untuk device. Jika Anda yakin sudah benar semua, namun belum juga emailnya terkirim keinbox, silahkan ganti IsSMTP(true) menjadi IsMAIL(true), Anda bisa mengganti alternatif port( 587 dengan port yang lainya) biasanya ada alternatif port yang disediakan oleh hosting email yang Anda gunakan.
Dan Jika Anda menyerah karena sudah mencoba berkali-kali mensetting form menggunakan PHPmailer,namun isian form tetap tidak bisa terkirim ke email tujuan, Anda bisa menghubungi saya untuk mensettingkannya untuk Anda. Dengan membayar biaya jasa Rp 50.000, Isian Form Anda akan sampai ke email tujuan. Apabila sekalian membuat formnya juga, ada tambahan biaya, silahkan hubungi saya melalui whatsapp. Email sudah menjadi bagian penting dari aktivitas sehari-hari, pekerjaan, bahkan bisnis. Surat-menyurat elektronik ini dilakukan di sejumlah platform, termasuk Hostinger, Zoho Mail, dan G Suite. Namun, tahukah Anda kalau Anda juga bisa kirim email dengan PHP? Di tutorial ini, kami akan membahas dua cara mengirim email, yaitu dengan fungsi PHP mail() bawaan dan PHPMailer menggunakan Simple Mail Transfer Protocol (SMTP).
Bangun kredibilitas bisnis Anda dengan email bisnis profesional. Dapatkan Email Hosting Cara Kirim Email dengan PHP mail()Fungsi PHP mail() ditujukan untuk invoke program Sendmail. Program ini biasanya dikonfigurasi oleh administrator sistem sehingga Anda dapat mengirim email. Agar fungsi ini dapat digunakan, Anda harus memastikan kalau provider hosting Anda memperbolehkan pengaturan layanan Sendmail secara manual. Apabila saat ini Anda menggunakan layanan Hostinger, Anda bisa mengaktifkan atau menonaktifkan fungsi ini melalui hPanel. Klik Emails > Mail Service Control. Secara default, layanan Sendmail telah diaktifkan. Meskipun demikian, tidak ada salahnya jika Anda mengeceknya sekali lagi. Membuat File Tes untuk PHP MailPertama-tama, buat file untuk script PHP mail, lalu simpan di direktori public_html agar dapat diakses dengan mudah menggunakan nama domain.
Mengenal Komponen PHP MailSeperti yang sudah disebutkan sebelumnya, di bagian ini kami akan membahas komponen dari script dasar PHP mail. Untuk tutorial ini, komponen yang akan kami berikan adalah sintaks dasar email. Tujuannya adalah agar Anda bisa lebih memahami fungsi yang dibahas dalam tutorial ini. Apabila Anda menginginkan informasi yang lebih mendalam tentang fungsi Sendmail beserta komponennya, silakan kunjungi halaman resmi PHP. Berikut sintaks PHP yang kami gunakan sebelumnya (pada tangkapan layar di atas): <?php ini_set( 'display_errors', 1 ); error_reporting( E_ALL ); $from = "[email protected]"; $to = "[email protected]"; $subject = "Checking PHP mail"; $message = "PHP mail works just fine"; $headers = "From:" . $from; mail($to,$subject,$message, $headers); echo "The email message was sent."; ?> Kami akan menjelaskan komponen di atas satu per satu: Dua baris pertama ini akan menampilkan notifikasi error apabila terjadi kesalahan. Dengan diaktifkannya notifikasi, Anda akan tahu kalau ada kegagalan dalam menjalankan script. ini_set( 'display_errors', 1 ); error_reporting( E_ALL ); Baris ini memuat alamat email pengirim. Perlu Anda ketahui, sebagian besar penyedia hosting tidak memperbolehkan penambahan alamat email yang tidak jelas atau tidak dikenali karena memungkinkan terjadinya spoofing. Oleh karena itu, gunakanlah alamat email yang memang ditujukan untuk nama domain atau brand agar fungsi PHP mail dapat dijalankan. $from = "[email protected]"; Masukkan alamat email penerima di baris ini. $to = "[email protected]"; Masukkan subjek email pesan di sini. $subject = "Checking PHP mail"; Tulis isi pesan di sini. $message = "PHP mail works just fine"; Tambahkan informasi penting di sini, misalnya alamat pengirim, alamat untuk header Reply-To, dll. $headers = "From:" . $from; Baris ini untuk menjalankan fungsi PHP mail. mail ($to,$subject,$message,$headers); Isi pesan yang akan muncul setelah script berhasil dijalankan. echo "The email message was sent."; Cara Kirim Email dengan PHPMailerPHPMailer adalah library kirim email dengan PHP yang banyak digunakan. Dengan library ini, Anda bisa mengirim email menggunakan fungsi mail() atau Simple Mail Transfer Protocol (SMTP). Proses pembuatan PHP mail yang tadinya rumit akan disederhanakan oleh PHPMailer dengan menyediakan satu set fungsi untuk membuat dan mengirimkan email. Jika Anda sudah punya Composer, menginstall PHPMailer akan jadi lebih mudah. Di Hostinger, Composer merupakan tool bawaan yang dapat Anda temukan di semua jenis paket hosting. Apabila Anda ingin menginstall PHPMailer dengan metode manual, buatlah koneksi ke akun hosting Anda via SSH terminal terlebih dulu. Berikut langkah-langkahnya:
CATATAN: PuTTY TIDAK akan menampilkan password Anda. Jadi, Anda tidak perlu panik jika password tidak muncul di layar.
cd public_html
ini_set( 'display_errors', 1 ); error_reporting( E_ALL );0
Menggunakan PHPMailer dengan Hostinger SMTPSetelah PHPMailer berhasil diaktifkan, Anda bisa langsung menggunakannya untuk mengirimkan PHP mail dengan Hostinger SMTP.
CATATAN: Jangan sampai Anda lupa akun username, password akun, SMTP host, dan SMTP port. Informasi ini dibutuhkan untuk mengirimkan email via PHPMailer.
ini_set( 'display_errors', 1 ); error_reporting( E_ALL );1
Mengenal Komponen PHPMailerUntuk memahami cara kerja PHPMailer, kami akan membahas contoh script di atas yang menggunakan SMTP untuk mengirim email. Berikut penjelasan singkat untuk setiap komponennya: Baris ini mengimpor class PHPMailer ke global namespace. ini_set( 'display_errors', 1 ); error_reporting( E_ALL );2 Baris ini menyertakan berbagai library yang dibutuhkan PHPMailer. ini_set( 'display_errors', 1 ); error_reporting( E_ALL );3 Semua variabel yang serupa memuat informasi penting, seperti info server, header pesan, attachment (lampiran), dan masih banyak lagi. Singkatnya, variabel ini memastikan bahwa pengirim pesan dilindungi dengan autentikasi SMTP. ini_set( 'display_errors', 1 ); error_reporting( E_ALL );4 Menentukan kondisi ketika script dijalankan. ini_set( 'display_errors', 1 ); error_reporting( E_ALL );5 Baris ini akan menampilkan pesan error dengan tambahan informasi waktu terjadinya kegagalan pengiriman pada script. ini_set( 'display_errors', 1 ); error_reporting( E_ALL );6 Menentukan kondisi etika script dijalankan. ini_set( 'display_errors', 1 ); error_reporting( E_ALL );7 Pesan ini akan muncul jika email berhasil dikirimkan. ini_set( 'display_errors', 1 ); error_reporting( E_ALL );8 PRO TIP: Baris SMTPDebug = 2 hanya digunakan ketika Anda ingin mengetes script dan mengecek cara kerjanya. Jika tes sudah selesai dilakukan, ubah nilainya ke SMTPDebug = 0. Tindakan ini diharuskan agar end-user tidak melihat laporan pengiriman SMTP. Jika dilihat dengan saksama, Anda akan tahu kalau kami melakukan sesuatu yang berbeda dari contoh pertama yang ditampilkan. Alih-alih mengirimkan teks biasa, kami mengirimkan pesan HTML. Oleh karena itu, pesan Anda akan memuat isi dari file message.html yang berada di direktori yang sama, yaitu public_html. Format ini memiliki fungsionalitas yang lebih luas dibandingkan dengan pesan biasa, apalagi HTML juga mudah dikutomisasikan. Anda bisa mengganti warna, gaya, gambar, dan bahkan menambahkan file multimedia yang koleksinya terbatas di pesan email biasa. Formulir Kontak PHPMailerTahukah Anda kalau Anda bisa melakukan lebih dari sekadar mengirim email biasa dengan PHPMailer? Salah satu contohnya adalah membuat formulir kontak. Anda bisa membuat formulir ini dengan PHPMailer untuk menjangkau audiens di mana pun mereka berada. Berikut contoh script-nya: ini_set( 'display_errors', 1 ); error_reporting( E_ALL );9 Sama seperti yang sudah-sudah, Anda pun harus membuat file baru terlebih dulu di folder public_html. Untuk contoh formulir kontak, file baru ini akan kami namai dengan formscript.php. Ubah informasi yang ada di dalam script. Setelah itu, jalankan script melalui browser. Berikut hasilnya: Setelah audiens menulis dan mengirimkan pesan, mereka akan menerima pesan konfirmasi. Konten pesan akan masuk ke kotak masuk dari email yang Anda tambahkan di sini: $from = "[email protected]";0 PRO TIP: Seandainya formulir kontak PHPMailer tidak berfungsi, tambahkan baris $mail->SMTPDebug = 2; untuk mengecek penyebab error. Jika sudah selesai, hapus atau ganti nilai 2 ke 0 PHPMailer menawarkan lebih banyak contoh yang bisa Anda coba di repositori resmi GitHub. Jika Anda menggunakan WordPress, Anda bisa membuat formulir kontak dengan menginstall plugin, seperti WP Forms, Formidable, Forms, atau Gravity Forms. Mengatasi Error yang Sering Terjadi di PHP Mail dan PHPMailerError bisa saja terjadi ketika Anda kirim email dengan PHP mail atau PHPMailer. Berikut beberapa kendala atau error yang sering terjadi beserta tips untuk mengatasinya. Sender Address Rejected: Not Owned by the UserError ini menandakan bahwa server tidak bisa melakukan autentikasi menggunakan informasi yang tersedia. Untuk mengatasinya, cek kembali alamat email yang Anda gunakan untuk mengirim pesan. Pastikan alamat email tersebut aktif dan sesuai dengan kontak email yang ada. Apabila tidak sesuai, segera ubah dan ganti dengan alamat yang benar. Pastikan juga Anda sudah mengaktifkan SPF record. Gmail Tidak Dapat Memverifikasi Bahwa NamaDomainAnda.com yang Mengirimkan Pesan IniKetika Anda sedang mengetes script PHP mail dan peringatan ini muncul, penyebabnya bisa jadi salah satu di bawah ini:
Pesan Masuk ke Folder SpamAda banyak hal yang mengakibatkan PHP mail dianggap sebagai spam, di antaranya adalah:
KesimpulanSekarang Anda sudah tahu cara kirim email dengan PHP dan cara menggunakan PHPMailer untuk mengirimkan email dengan autentikasi SMTP. Meskipun tutorial ini hanya memberikan sintaks dan komponen dasar, sintaks yang sama dapat Anda gunakan untuk membuat formulir kontak atau ekstensi lainnya di website. Untuk informasi selengkapnya, silakan cek halaman PHPMailer project. Jika Anda punya tips atau ide yang ingin dibagikan, jangan ragu untuk menuliskannya pada kolom komentar di bawah ini! Penulis Ariata C. Ariata suka sekali menulis dan menerjemahkan, dan sekarang ini bekerja sebagai translator di Hostinger Indonesia. Lewat artikel dan tutorial yang diterbitkan di blog Hostinger, Ariata ingin membagikan pengetahuan tentang website, WordPress, dan hal terkait hosting lainnya kepada para pembaca. |