Table of Contents

Masalah

Email yang dikirim dari formmail skrip PHP selalu terkirim dobel ke xxx@example.com. Padahal pengiriman hanya dilakukan sekali.

Contoh skrip:

 <?
       $to         = "xxx@example.com";
       $company    = "Company";
       $name       = "Name";
       $email      = "Email";
       $phone      = "Phone";
       $country    = "Country";
       $subject    = "Subject";
       $message    = "Message";
       $headers  = "MIME-Version: 1.0\r\n";
       $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
       $headers .= "To: User <xxx@example.com>\r\n";
       $headers .= "From: User 2 <xxx@from-example.com>\r\n";
       $body     = "Company : $company"
                 . "Name : $name"
                 . "Phone : $phone"
                 . "Email : $email"
                 . "Country : $country"
                 . "Message : $message";
       mail ( $to, $subject, $body, $headers );
       echo "test mail";
  ?>

Solusi

Perhatikan baris yang tercetak tebal di atas, diulang di sini:

       $headers .= "To: User <xxx@example.com>\r\n";

Di $headers tidak usah ada header To: … lagi. Karena header “To: …” ini nanti akan dimasukkan/digenerate oleh PHP ke dalam header akhir, dengan menggunakan nilai To dari argumen pertama fungsi mail().

Jadi solusi untuk memperbaiki skrip di atas adalah menghapus baris yang tidak perlu tadi.