PHP

Membuat Kirim Email Massal Dari Database Mysql dengan PHP Mail



Oke kali ini saya akan membagi tutorial tentang cara membuat kirim email massal dari database mysql dan php mailer. 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.

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.phpmethod=post>
    <input type=hiddenname=send/>
    <div class=row>
        <label>Nama</label>
        <input type=textname=nama/>
    </div>
    <div class=row>
        <label>To</label>
        <textarea name=to><?= $data_r; ?></textarea>
    </div>
    <div class=row>
        <label>Subject</label>
        <input type=textname=subject/>
    </div>
    <div class=row>
        <textarea name=messagesrows=7></textarea>
    </div>
    <div class=row>
        <button>Kirim</button>
    </div>
</form>

Kemudian buat untuk proses pengirimannya.


if(isset($_POST[‘send’]))
{
    $nama = $_POST[‘nama’];
    $to = $_POST[‘to’];
    $subject = $_POST[‘subject’];
    $messages = “From :”.$nama.”
“.$_POST[‘messages’];
    
    $headers = “MIME-Version: 1.0” . “rn”;
    $headers .= “Content-type:text/html;charset=iso-8859-1” . “rn”;
    // More headers
    $headers .= ‘From: ’ . “rn”;
    $headers .= ‘Cc: contoh@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.

 


Rekomendasi Artikel

Baca yang ini juga:

Get our newsletter