Cara Mengatasi PHP Mailer Tidak Berfungsi

Cara Mengatasi PHP Mailer Tidak Berfungsi

Bagikan artikel ini 🫰🏻

PHP Mailer adalah fungsi PHP yang digunakan untuk mengirim e-mail. Dalam penggunaannya, dibutuhkan tambahan support dengan SMTP (Simple Mail Transfer Protocol) agar PHP dapat menjalankan fungsinya sebagai pengirim e-mail.

Jadi PHP mailer ini sangat berguna sekali bagi anda yang ingin web atau aplikasinya dapat mengirim email ke client atau Pengguna.

Namun ada beberapa masalah yang menyebabkan Aplikasi maupun web tidak bisa mengirim email salah satunya php mailer yang tidak berfungsi.

Pada panduan kali ini kami akan membahas Cara Mengatasi PHP Mailer Tidak Berfungsi

Cara Mengatasi PHP Mailer Tidak Berfungsi

Php mailer yang berfungsi Memili banyak penyebab, berikut beberapa indikasi dasar yang Dapat menyebabkan PHP mailer tidak berfungsi :

  • SMTP ERROR
  • Hosting tidak Support Port 25
  • Ada Kesalahan di Username dan password PHP
  • Dan masalah lain nya.

Dan berikut adalah beberapa cara untuk mengatasi PHP mailer yang tidak berfungsi :

1. Masalah Dengan Versi PHP Terbaru

Bagi anda yang mungkin ketika menggunakan versi PHP lama di aplikasi sebelumnya berjalan dengan baik, dan ketika di pindah ke versi terbaru terdapat masalah

Maka anda bisa Mengubah script mailer yang ada.

Anda dapat mengedit script mailer anda seperti di bawah ini :

$mail->SMTPOptions = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
)
);

Anda juga dapat mengubah pengaturan ini secara global, dalam file php.ini.

2. Mendapatkan Kegagalan Koneksi SMTP Pada Penyedia Hosting

Jika Anda menjalankan kode pada penyedia share hosting dan mencoba terhubung ke beberapa penyedia SMTP pihak ketiga seperti smtp.pepipost.com atau smtp.sendgrid.com dan mendapatkan beberapa error seperti ini:

SMTP connect() failed.

kemudian, ini sebagian besar karena aturan firewall pada infrastrukturnya yang secara eksplisit memblokir koneksi SMTP keluar ke port 25, 587, dan 465 ke semua server eksternal. Aturan ini terutama untuk melindungi infrastruktur dari pengiriman spam.

Salah satu solusi Untuk Mengatasi ini adalah anda bisa menggunakan Hosting yang membuka port 25, 587, dan 465.

3. Terdapat Pemblokiran Pada SElinux

Jika Anda mendapatkan error seperti berikut :

SMTP -> ERROR: Failed to connect to server: Permission denied (13)

maka, kemungkinan besar SELinux Anda mencegah PHP atau server web mengirim email.

Masalah ini sebagian besar terjadi di mesin berbasis Linux seperti RedHat, Fedora, Centos, dll.

Anda dapat menggunakan perintah getsebool untuk memeriksa apakah daemon httpd diizinkan untuk membuat koneksi SMTP melalui jaringan untuk mengirim email.

getsebool httpd_can_sendmail
getsebool httpd_can_network_connect

Perintah ini akan menghidupkan atau mematikan boolean. Jika dinonaktifkan, maka Anda akan melihat output seperti ini;

getsebool: SELinux is disabled

Dan anda dapat mengaktifkan nya dengan Perintah :

sudo setsebool -P httpd_can_sendmail 1
sudo setsebool -P httpd_can_network_connect 1

4. PHPMailer SMTP Gagal Karena Masalah SSL

Ada banyak kasus untuk kegagalan koneksi SMTP di PHPMailer dan kurangnya SSL adalah salah satunya juga.

Mungkin ada kasus, bahwa ekstensi Open SSL tidak diaktifkan di php.ini

Jadi, setelah Anda mengaktifkan extension=php_openssl.dll di Ini File.

Aktifkan debug, sehingga Anda benar-benar dapat melihat bahwa SSL adalah masalah sebenarnya atau tidak. PHPMailer memberikan fungsionalitas yang dengannya Anda bisa mendapatkan log terperinci dari koneksi SMTP.

Anda dapat mengaktifkan fungsi ini dengan memasukkan kode berikut dalam script Anda;

$mail->SMTPDebug = 2;

Jadi untuk mengatasi ini anda cukup mengaktifkan saja untuk SSL nya.

5. Muncul Error “Could Not Instantiate Mail Function”

Masalah ini terjadi terutama ketika instalasi PHP Anda tidak dikonfigurasi dengan benar untuk memanggil fungsi mail(). Dalam hal ini, penting untuk memeriksa sendmail_path di file php.ini Anda. Idealnya, sendmail_path Anda harus menunjuk ke biner sendmail (biasanya jalur default adalah /usr/sbin/sendmail).

Jika masalah konfigurasi ini tidak terjadi, coba debug lebih lanjut dan periksa apakah Anda memiliki server email lokal yang diinstal dan dikonfigurasi dengan benar atau tidak. Anda dapat menginstal server email yang bagus seperti Postfix.

Kesimpulan

Jika anda telah melakukan banyak konfigurasi pada web atau aplikasi dan tetap tidak dapat mengirim email, maka anda bisa menghubungi pihak penyedia hosting untuk melakukan pengecekan sistem email di server mereka.

Demikian panduan terkait Cara Mengatasi PHP Mailer Tidak Berfungsi, semoga bermanfaat 🙂

Bermanfaatkah Artikel Ini?

Klik bintang 5 untuk rating!

Rata rata rating 2.3 / 5. Jumlah rate 6

No votes so far! Be the first to rate this post.

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?

Artikel Terkait

One Response

Leave a Reply

Your email address will not be published. Required fields are marked *