Ditulis oleh: Èxsharaèn
« pada: 11 Agustus 2009, 01:11:24 »Untuk mengirimkan email, fungsinya adalah mail(). Lengkapnya seperti ini:
$to jelas adalah penerima email kita. Boleh saja menuliskan lebih dari satu penerima:
$subject ya subjek email kita
jangan memberi karakter baris-baru ("\n") di sini yah.
$message adalah pesan kita. Tiap baris baru ditulis menggunakan karakter baris-baru (\n). Di sini kita juga bisa pakai HTML kalau diperlukan (nanti aku berikan contoh karena parameter keempat harus diisi kalau mau mengirim email HTML); anggap saja tulis dokumen HTML di sini.
$additional_headers adalah header tambahan yang boleh diisi boleh tidak. Catatan, header From harus ditambahkan kalau kita tidak mengeset pengirimnya di php.ini. Kalau diabaikan, keluar warning nanti
setiap header dipisahkan dengan karakter CRLF (\r\n).
Parameter akhir bisa diabaikan
Nah, untuk contoh, kita kirimkan saja email konfirmasi dalam bentuk HTML, karena kita ingin pendaftar tinggal mengeklik tautan yang ada di dalam email (kecuali klien email-nya tidak mendukung HTML). Kodenya:
Untuk mencoba kode ini, pastikan komputer sedang konek ke Internet. Lebih bagus lagi kalau diunggah ke server sebelum dicoba
Bisa ya membuat halaman activate.php
Kode: [Pilih]
bool mail ( string $to, string $subject, string $message [, string $additional_headers [, string $additional_parameters]] )
$to jelas adalah penerima email kita. Boleh saja menuliskan lebih dari satu penerima:
Kode: [Pilih]
<?php
$to = "example@example.com"; // satu penerima
$to = "example1@example.com, example2@example.com"; // lebih dari satu penerima
?>
$subject ya subjek email kita

$message adalah pesan kita. Tiap baris baru ditulis menggunakan karakter baris-baru (\n). Di sini kita juga bisa pakai HTML kalau diperlukan (nanti aku berikan contoh karena parameter keempat harus diisi kalau mau mengirim email HTML); anggap saja tulis dokumen HTML di sini.
$additional_headers adalah header tambahan yang boleh diisi boleh tidak. Catatan, header From harus ditambahkan kalau kita tidak mengeset pengirimnya di php.ini. Kalau diabaikan, keluar warning nanti

Parameter akhir bisa diabaikan

Nah, untuk contoh, kita kirimkan saja email konfirmasi dalam bentuk HTML, karena kita ingin pendaftar tinggal mengeklik tautan yang ada di dalam email (kecuali klien email-nya tidak mendukung HTML). Kodenya:
Kode: [Pilih]
<?php
// Dapatkan ID terakhir yang dimasukkan
$SQL = "SELECT LAST_INSERT_ID() AS new_id";
$result = execute_query($SQL);
if($result)
{
$row = mysql_fetch_object($result);
$uid = $row->new_id;
}
// Kirim email ke pendaftar
$to = $email;
$subject = "LagiNgapain.net: Daftar akun baru";
$message =
"<html>
<head>
<title>LagiNgapain.net: Daftar akun baru</title>
</head>
<body>
<p>Anda telah mendaftarkan akun baru pada LagiNgapain.net. Berikut adalah informasi akun Anda:<br />
<br />
Nama pengguna: $un<br />
Kata kunci: $pw<br/>
<br />
Silakan aktifkan akun Anda dengan mengeklik tautan berikut: <a href=\"http://localhost/activate.php?uid=$uid&c=$code\">Aktifkan akun saya!</a></p>
<p>Jika klien email Anda tidak mendukung HTML, salin tautan berikut dan tempelkan ke perambah Anda:<br />http://localhost/activate.php?uid=$uid&c=$code</p>
<p>Terima kasih sudah mendaftar di LagiNgapain.net!</p>
<p>LagiNgapain.net</p>
<p>Ini adalah email otomatis. Jangan menjawab email ini. Jika Anda tidak pernah mendaftarkan akun di LagiNgapain.net, silakan abaikan email ini.</p>
</body>
</html>
";
// To send HTML mail, the Content-type header must be set
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
// Tambahan
$headers .= "From: account@lagingapain.net" . "\r\n";
$headers .= "Reply-To: donotreply@lagingapain.net" . "\r\n";
// Kirim!
mail($to, $subject, $message, $headers);
echo "<p>Akun Anda berhasil dibuat! Silakan cek email Anda dan ikuti petunjuk di dalamnya untuk mengaktifkan akun Anda.</p>";
?>
Untuk mencoba kode ini, pastikan komputer sedang konek ke Internet. Lebih bagus lagi kalau diunggah ke server sebelum dicoba

Bisa ya membuat halaman activate.php
