Kirim laporan dari database mysql ke email di PHP dengan bantuan PHPMailer
Halo,
Selamat datang di blog saya. Kali saya ingin berbagi mengenai
bagaimana cara mengirimkan data dari php mysql database ke email secara
otomastis berdasarkan kondisi yang kita inginkan. Fungsinya seperti reminder.
Berikut
saya berikan contoh programnya. Anda cukup mengganti nama field-field nya saja
Nama
file: kirim.php
<?php
$dbserver="localhost";
$dbusername="ronaldo";
//nama user database sesuai yang telah anda buat
$dbpassword=""; // isi
sesuai password database anda
$dbname="dataku";
//isi nama database yang sudah anda buat
mysql_connect($dbserver,$dbusername,$dbpassword)
or die(mysql_error);
mysql_select_db($dbname) or
die(mysql_error());
$todays_date=strtotime(date("Y-m-d"));
// Ini untuk memanggil field-field table pada database anda
$myquery="select
no,ship,nama_cert,party,DATE_FORMAT(expired_date, '%d-%m-%Y')as
expired_date,datediff(expired_date,current_date)as selisih from sertifikat
where datediff(expired_date,current_date)<='30' and
datediff(expired_date,current_date)>='-1000' order by ship asc";
$sertifikat=mysql_query($myquery) or die
(mysql_error());
if(mysql_num_rows($sertifikat)!=0){
$laporan="Fyi.<br><br>Berikut
data-data sertifikat kapal yang akan habis/sudah habis masa
berlakunya:<br><br> <table width=\"90%\"
border=\"1\" align=\"center\" cellpadding=\"0\"
cellspacing=\"0\">";
cellspacing=\"0\">";
$laporan .="<tr>";
$no
= 1;
//Ini untuk menampilkan judul masing-masing kolom
$laporan
.="<td><center><b>NO</b></center></td><td><center><b>VESSEL</b></center></td><td><center><b>CERTIFICATE</b></center></td><td><center><b>PARTY</b></center></td><td><center><b>EXPIRED
DATE</b></center></td><td><center><b>DAYS
LEFT</b></center></td></font>";
$laporan .="</tr>";
while($dataku=mysql_fetch_object($sertifikat))
{
$num_str =
$dataku->selisih;
if($num_str <= 0)
{
$hasil='<font
color="#FF0000">Expired</font>';
}
elseif($num_str > 0)
{
$hasil=$num_str;
}
$laporan .="<tr>";
$laporan .="<td><center>$no</center></td><td>$dataku->ship</td><td>$dataku->nama_cert</td>
<td><center>$dataku->party</center></td><td><center>$dataku->expired_date</center></td><td><center>$hasil</center></font></td>";
$laporan .="</tr>";
$no++;
}
$laporan .="</table><br>
Terima kasih<br><br>
Rgds,<br><br>
Admin<br><br>
//Untuk penambahan note anda bisa menambahkan disini
<font size=0.5
color=#CCCCCC>Note:<br> Email ini terkirim secara otomatis
</font>";
require_once("class.phpmailer.php");
require_once("class.pop3.php");
require_once("class.smtp.php");
$sendmail = new PHPMailer();
// Dibawah ini untuk mengirimkan data ke email tujuan
$sendmail->addAddress('gue@gmail.com','Gue');
// Jika data tersebut ingin di cc kan ke pihak lain
$sendmail->AddCc('kamu@gmail.com','Kamu');
// Ini utuk menuliskan subject email nya
$sendmail->Subject = 'Auto Reminder ';
// Jika mau menambahkan pesan/kalimat di dalam email. Ini akan
muncul dibawah data yang muncul dari database
$sendmail->Body=$laporan;
$sendmail->isHTML(true);
if(!$sendmail->Send())
{
echo "Email gagal dikirim : " . $sendmail->ErrorInfo;
}
else
{
echo "Your message has been sent!";
}
}
?>
Selesai. Simpan program tersebut sesuai nama yang anda inginkan.
Selamat mencoba
Keterangan
Jangan lupa untuk
download file-file berikut:
-
class.phpmailer.php
-
class.pop3.php
-
class.smtp.php
File-file tersebut bias anda cari dengan bantuan mbah google. Copy
kan file-file tersebut ke folder yang sama dengan program anda
DATE_FORMAT(expired_date,
'%d-%m-%Y')as expired_date,datediff(expired_date,current_date)as selisih
->Fungsi ini untuk
menghitung selisih hari jatuh tempo dengan tanggal saat ini
require_once("class.phpmailer.php");
require_once("class.pop3.php");
require_once("class.smtp.php");
->Untuk file-file
diatas anda bisa mendownload nya. File tersebut anda copy kan ke folder tempat
anda menyimpan file program tadi.
Anda bisa mencoba menjalankan
program tersebut.
Untuk menjalankan program
tersebut berdasarkan waktu yang anda inginkan bisa menggunakan crontab
Comments
Post a Comment