MWN Website
ContactHome

T:Pesan error:Mail must not have multiple From addresses

Untuk berdiskusi dengan sesama programer dan peminat PHP, bergabunglah dengan milis id-php, milis PHP Indonesia paling aktif sejak 2002. Untuk subscribe, kunjungi halaman web milis atau kirimkan email kosong ke id-php-subscribe@yahoogroups.com.

Jika Anda lebih suka forum diskusi berbasis web, kunjungi Forum PHP Masterweb.

Pertanyaan

Saat ingin mengirim email, muncul pesan "sendmail: Can't send mail: Mail must not have multiple From addresses". Menurut artikel ini, Gagal mengirim email di skrip, saya tidak boleh mencetak header From dua kali. Tapi skrip saya di bawah ini tidak mencetak From dua kali?

<? 
# pengisi form 
$nama = 'akyu'; 
$email = 'akyu@domainkyu.com'; 

# string yg jadi masalah 
$datetime = date("F j Y g:i:s a"); 

# setup header untuk menyesuaikan dengan restriksi 
$addheaders = "From: noreply@educoachinternational.com"; 
$addheaders .= "Reply-to: $nama <$email>"; 
$subject = "$nama mengisi form $datetime"; 

$mailto = "aku@example.com"; 
$messagebody = "$nama mengisi form $datetime dan mengirim ke email $mailto dengan $addheaders"; 
$mail_sent = @mail("$mailto", "$subject", "$messagebody", "$addheaders"); 
echo $mail_sent ? "Sent" : "Fail"; 
?>

Jawaban

Anda kurang menambahkan 1 newline di akhir header. Sesuai instruksi di manual PHP, setiap header tambahan perlu diakhiri dengan newline.

$addheaders = "From: noreply@educoachinternational.com\n";

Contoh lain jika ada beberapa header:

$addheaders = "From: foo@bar\nPrecedence: bulk\nX-Foo: Bar\n";

Cara kerja fungsi mail() di PHP adalah membuat header standar (seperti From, Date, dsb) lalu menambah header tambahan ($addheaders dalam contoh skrip di atas) di bawah header standar tersebut. Lalu setelah itu PHP akan menambahkan 1 newline untuk mengakhiri header, dan lalu mencetak bodi email.

Jika $addheaders tidak mengandung newline, maka bodi email akan dianggap header karena kurang 1 newline sebagai pemisah header dan bodi. Header dan bodi dipisahkan oleh 1 baris kosong ("\n\n"). Dan kebetulan jika di dalam bodi terdapat baris yang di awali oleh "From: " maka akan dianggap sebagai header From lagi oleh sendmail sehingga aturan "tidak boleh ada multiple From headers" terlanggar.

Lihat juga

Untuk berdiskusi dengan sesama programer dan peminat PHP, bergabunglah dengan milis id-php, milis PHP Indonesia paling aktif sejak 2002. Untuk subscribe, kunjungi halaman web milis atau kirimkan email kosong ke id-php-subscribe@yahoogroups.com.

Jika Anda lebih suka forum diskusi berbasis web, kunjungi Forum PHP Masterweb.


Navigasi

Feedback

Artikel Popular

  • Panduan pengguna Spanel
  • Panduan pengguna Spanel 1.3/Email Manager
  • Peraturan dan Persetujuan
  • Panduan pengguna Masterkey
  • Upload files
  • Kontak MWN
  • Tutorial instalasi phpBB
  • PHP
  • Setting SMTP
  • Tentang shared hosting
  • Panduan pengguna Masterkey/Memesan/Konfirmasi pembayaran
  • selengkapnya...
  • Artikel Terbaru

  • Panduan pengguna Spanel 1.3/Subdomain Manager/Prefs
  • Panduan pengguna Spanel 1.3/Subdomain Manager/Delete
  • Panduan pengguna Spanel 1.3/Subdomain Manager/Add
  • PostgreSQL
  • Virtual private server
  • Panduan administrator Spanel 1.3/Dll/Pesan error/Server sibuk
  • Memaksa fsck
  • Membuat sertifikat SSL
  • Tutorial instalasi formmail
  • FAQ PHP (Plesk)
  • Panduan administrator Spanel 1.3/Instalasi/Setting
  • selengkapnya...
  • Hak cipta © 2006-2008 PT Master Web Network Konten ditulis dan dikoleksi oleh staf MWN. Artikel-artikel pada situs knowledge base ini dapat dikutip dan disalin secara bebas, namun mohon menyebutkan sumber dengan URL http://kb.masterweb.net/ atau teks "Knowledge Base MWN". MWN tidak bertanggung jawab atas akurasi dan/atau kekinian konten. MWN tidak bertanggung jawab atas komentar-komentar yang dikirim pembaca. Dengan memposting komentar Anda memberi hak penuh pada MWN untuk menampilkan komentar tersebut di manapun dan kapanpun, dan untuk mengedit atau menghapus komentar tersebut dengan cara bagaimanapun dan/atau karena alasan apapun.