Mengirim email laporan dari database mysql dengan PHPMailer
Daftar Isi [Tampilkan]
Saya hanya sedikit mengembangkan dari tulisan sebelumnya yang hanya mengirimkan pesan dalam format HTML menjadi format laporan yang dikemas dalam bentuk tabel dengan data yang kita ambilkan dari database mysql. Secara teknis pada dasarnya cara pengiriman emainya sama dengan pesan sederhana tapi untuk laporan dikemas secara dinamis sehingga bisa disesuaikan dengan data yang akan dikirimkan.
Untuk mendapatkan informasi dan download phpmailer ini anda bisa kunjungi situshttps://github.com/Synchro/PHPMailer
Misal kita sudah punya sebuah aplikasi dari php seperti tulisan sebelumnya yang pernah saya bahas yaitu Aplikasi Mahasiswa dengan PHP. Kemudian anda ingin mengirimkan laporan tersebut ke email. Untuk itu kita bisa dengan mudah mengirimnya memanfaatkan librari PHPMailer. Caranya sangat mudah, anda tinggal buat program seperti berikut :
<?php mysql_connect("localhost","username","password") or die("Gagal membuat koneksi server"); mysql_select_db("db_mahasiswa") or die("Gagal membuat koneksi database"); $myquery="select nim,nama from tb_mahasiswa"; $daftarsiswa=mysql_query($myquery) or die (mysql_error()); $laporan="<table width=\"100%\" border=\"1\" align=\"center\" cellpadding=\"3\" cellspacing=\"0\">"; $laporan .="<tr>"; $laporan .="<td>NIM</td><td>Nama</td>"; $laporan .="</tr>"; while($dataku=mysql_fetch_object($daftarsiswa)) { $laporan .="<tr>"; $laporan .="<td>$dataku->nim</td><td>$dataku->nama</td>"; $laporan .="</tr>"; } $laporan .="</table>"; require_once("class.phpmailer.php"); $sendmail = new PHPMailer(); $sendmail->setFrom('email.anda@domainanda.com','Nama Anda'); //email pengirim $sendmail->addReplyTo('email.anda@domainanda.com','Nama Anda'); //email replay $sendmail->addAddress('email.tujuan@domaintujuan.com','Nama Tujuan'); //email tujuan $sendmail->Subject = 'Laporan Data Mahasiswa'; //subjek email $sendmail->Body=$laporan; //isi pesan dalam format laporan $sendmail->isHTML(true); if(!$sendmail->Send()) { echo "Email gagal dikirim : " . $sendmail->ErrorInfo; } else { echo "Email berhasil terkirim!"; } ?>