Categories
Uncategorized

Tutorial Mengirim Multiple Email Dari Database Dengan PHP MySQL

Tutorial mengirim multiple email dari database – Pada tutorial yang sebelumnya saya sudah membahas tentang bagaimana mengirim email dengan php yang paling sederhana. Klik disini. Fasilitas pengiriman email pada suatu website memang sangat diperlukan. Dengan adanya aplikasi ini kita bisa mendapatkan notifikasi dari website melalui email.

Tidak hanya mengirim ke satu tujuan, dengan PHP kita bisa mengirim pesan ke banyak email sekaligus. Contoh misalkan kita memiliki website toko online, nah dengan adanya fasilitas sending email, member yang berlangganan dengan website toko online tersebut bisa mendapatkan pemberitahuan apabila terdapat barang yang baru.

Mengirim Multiple Email Dari Database Dengan PHP MySQL

Pada kesempatan ini saya menulis sebuah tutorial mengirim multiple email dari database.
Pertama siapkan dahulu database dengan nama“email”. Kemudian buat table dengan nama “email” untuk menyimpan data Emailnya, buat saja 1 field dengan nama “email” juga. Setelah itu kita masukkan beberapa data pada table “email”.

Setelah selesai menyiapkan database, sekarang kita buat form untuk mengirim Email.

<?php
mysql_connect(“localhost”, “root”, “”) or die (“gagal konek”);
mysql_select_db(“email”);

$select = mysql_query(“SELECT * FROM email”);
$data_r = “”;
while ($row=mysql_fetch_array($select)){
       $rows[] = $row[’email’];
}

foreach($rows as $key=>$r)
{
    if($key==0){$data_r .= $r;}
    else{ $data_r .= “, “.$r; }
}
?><form action=”index.php” method=”post”>
    <input type=”hidden” name=”send” />
    <div class=”row”>
        <label>Nama</label>
        <input type=”text” name=”nama” />
    </div>
    <div class=”row”>
        <label>To</label>
        <textarea name=”to”><?= $data_r; ?></textarea>
    </div>
    <div class=”row”>
        <label>Subject</label>
        <input type=”text” name=”subject” />
    </div>
    <div class=”row”>
        <textarea name=”messages” rows=”7″></textarea>
    </div>
    <div class=”row”>
        <button>Kirim</button>
    </div>
</form>

Kemudian buat untuk proses pengirimannya.

<?php

if(isset($_POST[‘send’]))
{
    $nama = $_POST[‘nama’];
    $to = $_POST[‘to’];
    $subject = $_POST[‘subject’];
    $messages = “From :”.$nama.”<br> “.$_POST[‘messages’];
   
    $headers = “MIME-Version: 1.0” . “rn”;
    $headers .= “Content-type:text/html;charset=iso-8859-1” . “rn”;
    // More headers
    $headers .= ‘From: <nikirahmadi9e@gmail.com>’ . “rn”;
    $headers .= ‘Cc: nikirahmadi9e@gmail.com’ . “rn”;
   
    @mail($to, $subject, $messages, $headers);
    if(@mail)
    {
        echo “pengiriman berhasil”;
    }
    else
    {
        echo “pengiriman gagal”;
    }
}
?>

Seperti yang terlihat pada script form diatas saya mengambil email dari database yang sudah kita siapkan sebelumnya. Sedikit saya jelaskan, pada bagian

while ($row=mysql_fetch_array($select)){
       $rows[] = $row[’email’];
}

saya menjadikan data email dari database tersebut menjadi array, sehingga berbentuk array seperti array([0]=>email1@domain .com[1]=>email2@domain.com) . 

Setelah dijadikan array, pada bagian

foreach($rows as $key=>$r)
{
    if($key==0){$data_r .= $r;}
    else{ $data_r .= “, “.$r; }
}

saya membuat array tersebut menjadi sebuah string agar bisa digunakan untuk tujuan pengiriman emailnya. Sehingga kita mendapatkan string seperti :
$data_r = “email1@domain.com,email2@domain.com”;

Maka dengan begitu variable $to pada proses memiliki email lebih dari satu yang dipisahkan tanda koma “,”. Untuk mengirim email ke tujuan yang lebih dari satu, alamat email yang banyak tersebut harus dipisahkan dengan tanda koma “,”. 

Aplikasi yang sederhana seperti ini sangat berguna. Ini adalah dasar – dasar untuk membuat fasilitas pengiriman email ganda. Selamat mencoba.