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.