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.