{"id":812,"date":"2008-08-05T18:40:46","date_gmt":"2008-08-05T10:40:46","guid":{"rendered":"https:\/\/www.dremi.info\/?p=788"},"modified":"2008-08-05T18:40:46","modified_gmt":"2008-08-05T10:40:46","slug":"php-mailer-advance-mengirim-email-per-jam","status":"publish","type":"post","link":"https:\/\/www.dremi.info\/tutorials\/php\/php-mailer-advance-mengirim-email-per-jam.html","title":{"rendered":"PHP Mailer Advance [mengirim email per jam]"},"content":{"rendered":"
Bagaimana mensiasati hosting yang membatasi pngirimana email newsletter dalam satu jam Huh?
\nmisalna saja, kita hanya diizinkan mengirmkan email sejumlah 600 email dalam 1 jam…
\ndengan bantuan perhitungan microtime dan sleep functions dalam PHP, kita dapat melakukanna<\/p>\n
Start DatTime Code:
\nCode:<\/p>\n
\nfunction getStartTime()\n{\n$mtime = microtime();\n$mtime = explode(" ",$mtime);\n$mtime = $mtime[1] + $mtime[0];\n$starttime = $mtime;\n}\n<\/pre>\nfungsi diatas berfungsi untuk mengambil timing awal saat pengiriman email dimulai
\ndan ini mailer na:
\nCode:<\/p>\n\n$maxmsgs = 10; \/\/ kirim max 10 email pe menit, jadi kalo 1jam berarti 10 x 60 = 600 email perjam\nfor($i=1; $i<$_POST[jumlah]; $i++)\n{\nglobal $starttime, $maxmsgs;\n$a=$i.$_POST['dari'];\n@mail($_POST['dari'], $_POST['subjek'], $_POST['pesan'],\n"Return-path: < $_POST[kepada] >\\n".\n"Received: Server Penjahat\\n".\n"From: $a < $a >\\n".\n"To: Yang Gw Sikat < $_POST[kepada] >\\n".\n"Date: ". date("D, M d Y H:i:s")." +0700\\n".\n"X-Mailer: BlackCat Hacker\\n".\n"X-Priority: 1\\n".\n"Message-Id:".rand()."");\n$mtime = microtime();\n$mtime = explode(" ",$mtime);\n$mtime = $mtime[1] + $mtime[0];\n$endtime = $mtime;\n$totaltime = ($endtime - $starttime);\nif($i%$maxmsgs==0)\n{\n$sleeptime = 60-$totaltime;\n\/\/ menunggu dalam beberapa detik\nsleep($sleeptime);\ngetStartTime();\ncontinue;\n}\nelseif(($totaltime>=60) && ($i%$maxmsgs!=0))\n{\n\/\/ dalam 1 menit terkirim 10 email, lalu script emailer akan distirahatkan selama 15 detik, baru diset ulang perhitungan waktu kirim email\nsleep(15);\ngetStartTime();\ncontinue;\n}\n}\necho "<p>Beres Bos !!! <a href='$_SERVER[PHP_SELF]'>Kembali<\/a><\/p>";\n<\/pre>\njadi lengkapna kalo dah make form bisa ke gini:
\nCode:<\/p>\n\n<!doctype html public "-\/\/W3C\/\/DTD HTML 4.0 \/\/EN">\n<html>\n<head>\n<title>Kirim email jumlah tertentu dalam satu jam<\/title>\n<\/head>\n<body>\n<H2>Kirim Email<\/H2>\n<form name="emailku" method="post" action="">\nDari:<BR>\n<input type="text" name="dari">\n<BR><BR>\nKepada:<BR>\n<input type="text" name="kepada">\n<BR><BR>\nJumlah:<BR>\n<input type="text" name="jumlah">\n<BR><BR>\nSubjek:<BR>\n<input type="text" name="subjek">\n<BR><BR>\nIsi Pesan:<BR>\n<textarea name="pesan"><\/textarea>\n<BR><BR>\n<input type="submit" name="submit" value="Kirim !!!">\n<\/form>\n<?\nif(isset($_POST['submit']))\n{\necho "<p><img src='images\/ajax-loader.gif'><\/p>";\nfunction getStartTime()\n{\n$mtime = microtime();\n$mtime = explode(" ",$mtime);\n$mtime = $mtime[1] + $mtime[0];\n$starttime = $mtime;\n}\n$maxmsgs = 10; \/\/ kirim max 10 email pe menit, jadi kalo 1jam berarti 10 x 60 = 600 email perjam\nfor($i=1; $i<$_POST[jumlah]; $i++)\n{\nglobal $starttime, $maxmsgs;\n$a=$i.$_POST['dari'];\n@mail($_POST['dari'], $_POST['subjek'], $_POST['pesan'],\n"Return-path: < $_POST[kepada] >\\n".\n"Received: Server Penjahat\\n".\n"From: $a < $a >\\n".\n"To: Yang Gw Sikat < $_POST[kepada] >\\n".\n"Date: ". date("D, M d Y H:i:s")." +0700\\n".\n"X-Mailer: BlackCat Hacker\\n".\n"X-Priority: 1\\n".\n"Message-Id:".rand()."");\n$mtime = microtime();\n$mtime = explode(" ",$mtime);\n$mtime = $mtime[1] + $mtime[0];\n$endtime = $mtime;\n$totaltime = ($endtime - $starttime);\nif($i%$maxmsgs==0)\n{\n$sleeptime = 60-$totaltime;\n\/\/ menunggu dalam beberapa detik\nsleep($sleeptime);\ngetStartTime();\ncontinue;\n}\nelseif(($totaltime>=60) && ($i%$maxmsgs!=0))\n{\n\/\/ dalam 1 menit terkirim 10 email, lalu script emailer akan distirahatkan selama 15 detik, baru diset ulang perhitungan waktu kirim email\nsleep(15);\ngetStartTime();\ncontinue;\n}\n}\necho "<p>Beres Bos !!! <a href='$_SERVER[PHP_SELF]'>Kembali<\/a><\/p>";\n}\n?>\n<\/body>\n<\/html>\n<\/pre>\nbijimane Huh?? dicoba yakk….<\/p>\n