Fungsi Mail() PHP Tidak Berfungsi Di Hosting

Projek kali ini adalah membuat aplikasi registrasi yang memerlukan konfirmasi email untuk aktivasi akunya.

Masalah yang terjadi rupanya fungsi mail() yang ada php tidak berfungsi.

Termasuk uji coba pada aplikasi yang saya buat di server hosting saya. Dulu saya juga pernah buat script untuk notifikasi ke email, tapi bisa-bisa saja. Nah kali ini tidak bisa? apa yang salah.

Untuk error script yang tidak terjadi pun tidak ada, termasuk saya sudah coba menggunakan library phpmailer. Sampai artikel ini di tulis Saya masih mencari tahu apa penyebab hosting tidak bisa mengirim ke email. Baik ke google, yahoo dan lainya.

Berdasarkan sumber yang saya baca, kemungkinan server tidak bisa mengirim email adalah karena beberapa hal berikut:

  1. Masalah konfigurasi server hosting
  2. Akun email pada hosting yang bermasalah
  3. Kelasalah konfigurasi pada php.ini untuk fitur pengiriman email
  4. Port yang ada pada hosting terproteksi dengan kuat

 

Jika sudah menemukan solusi tentang permasalahan ini, artikel ini akan Saya update baik masalahnya maupun cara penyelesaiannya.

Update

Alhamdulillah akhirnya ketemu cara mengirim email melalui hosting sendiri. Untuk hosting yang saya gunakan adalah IDWEBHOST.

Yang perlu di perhatikan dari permasalahan ini adalah:

  1. Kamu harus sudah punya akun email sendiri di hosting kamu
  2. Silahkan catat port SMTP yang di sediakan oleh hosting kamu (digunakan untuk script mengirim email ini)
  3. Serta email dan passwordnya (digunakan untuk script mengirim email)

Berbeda jika SMTP yang kamu gunakan menggunakan gmail. Kamu tidak perlu membuat akun email terlebih dahulu di hosting kamu.

Pada contoh kasus ini, saya akan mengirim email dengan email yang saya buat di hosting yaitu:

_________________

cs[at]sistemphp.com

_________________

Hal penting yang perlu digunakan:

  1. username: xxx@domainkamu.com
  2. papassword: passwordemailkamu
  3. SMTP Port: 123

SMTP port, sesuaikan dengan yang punya hosting kamu ya.

Sebelumnya SMTP adalah Service mail transfer protokol. Sebuah pelayanan pengiriman email melalui sebuah jalur yang ada pada setiap server yang Ada. Email ini, di kelola oleh server sebagaimana penyedia email gratis yang ada di luar sana.

Untuk kelebihannya adalah kita bisa menggunakan email dengan domain kita sendiri. Untuk kelemahanya yaitu kita harus memanajemen server sedemikian mungkin hingga server kita dapat berjalan maksimal untuk memberikan pelayanan dalam pengiriman email.

Untuk kali ini saya menggunakan fungsi library phpmailer, Untuk langkah-langkahnya sebagai berikut:

1.Script mengirim email php

<?php
include “classes/class.phpmailer.php”;
$mail = new PHPMailer;
$mail->IsSMTP();
$mail->SMTPSecure = ‘tls’;
$mail->Host = “domain.com”; //host masing provider (hosting kamu)
$mail->SMTPDebug = 2;
$mail->Port = 587; (port email hosting kamu)
$mail->SMTPAuth = true;
$mail->Username = “xxx@sistemphp.com”; //user email
$mail->Password = “password_email”; //password email
$mail->SetFrom(“xxx@sistemphp.com”,”SISTEMPHP.COM”); //set email pengirim
$mail->Subject = “AKTIVASI AKUN SISTEMPHP.COM”; //subyek email
$mail->AddAddress(“tanyasistemphp@gmail.com”,”tanyasistemphp”); //tujuan email
$mail->MsgHTML(“Testing…”);
if($mail->Send()) echo “Message has been sent”;
else echo “Failed to sending message”;
?>

Email diatas berhasil mengirim email ke email gmail.

Untuk hasil tampilan di browser serta di halaman inbox email sebagai berikut:

Tampilan pada inbox email

Tampilan kotak masuk pengiriman email berhasil

Tampilan kotak masuk pengiriman email berhasil

Tampilan pada browser

Tampilan berhasil mengirim email

Tampilan berhasil mengirim email

Untuk library phpmailer yang digunakan silahkan ambil disini. Semoga membnatu dan bermanfaat. Jika masih ada permasalahan atau butuh bantuan silahkan berikan komentar artikel tutorial ini.

Untuk demo mengirim email disini

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>