2076 Posts in 483 Topics- by 820 Members - Latest Member: akunp2

Pages: [1]   Go Down
  Print  
Author Topic: PHP Mailer Advance [mengirim email per jam]  (Read 942 times)
webmaster
Administrator
phpBB Guru
*****
Offline Offline

Posts: 924


hairulazami
View Profile WWW
« on: August 05, 2008, 06:40:35 PM »

Bagaimana mensiasati hosting yang membatasi pngirimana email newsletter dalam satu jam Huh?

misalna saja, kita hanya diizinkan mengirmkan email sejumlah 600 email dalam 1 jam...

dengan bantuan perhitungan microtime dan sleep functions dalam PHP, kita dapat melakukanna

Start DatTime Code:

Code:
function getStartTime()
{
   $mtime = microtime();
   $mtime = explode(" ",$mtime);
   $mtime = $mtime[1] + $mtime[0];
   $starttime = $mtime;
}

fungsi diatas berfungsi untuk mengambil timing awal saat pengiriman email dimulai

dan ini mailer na:

Code:
$maxmsgs = 10; // kirim max 10 email pe menit, jadi kalo 1jam berarti 10 x 60 = 600 email perjam

for($i=1; $i<$_POST[jumlah]; $i++)
{
   global $starttime, $maxmsgs;

   $a=$i.$_POST['dari'];

   @mail($_POST['dari'], $_POST['subjek'], $_POST['pesan'],
        "Return-path: < $_POST[kepada] >\n".
        "Received: Server Penjahat\n".
        "From: $a < $a >\n".
        "To: Yang Gw Sikat < $_POST[kepada] >\n".
        "Date: ". date("D, M d Y H:i:s")." +0700\n".
        "X-Mailer: BlackCat Hacker\n".
        "X-Priority: 1\n".
        "Message-Id:".rand()."");

    $mtime = microtime();
    $mtime = explode(" ",$mtime);
    $mtime = $mtime[1] + $mtime[0];
    $endtime = $mtime;
    $totaltime = ($endtime - $starttime);

    if($i%$maxmsgs==0)
    {
      $sleeptime = 60-$totaltime;
      // menunggu dalam beberapa detik
      sleep($sleeptime);
      getStartTime();
      continue;
    }
    elseif(($totaltime>=60) && ($i%$maxmsgs!=0))
    {
     // dalam 1 menit terkirim 10 email, lalu script emailer akan distirahatkan selama 15 detik, baru diset ulang perhitungan waktu kirim email      
      sleep(15);
      getStartTime();
      continue;
    }
}

   echo "<p>Beres Bos !!! <a href='$_SERVER[PHP_SELF]'>Kembali</a></p>";

jadi lengkapna kalo dah make form bisa ke gini:

Code:
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
       <title>Kirim email jumlah tertentu dalam satu jam</title>
</head>
<body>
<H2>Kirim Email</H2>
<form name="emailku" method="post" action="">
Dari:<BR>
<input type="text" name="dari">
<BR><BR>
Kepada:<BR>
<input type="text" name="kepada">
<BR><BR>
Jumlah:<BR>
<input type="text" name="jumlah">
<BR><BR>
Subjek:<BR>
<input type="text" name="subjek">
<BR><BR>
Isi Pesan:<BR>
<textarea name="pesan"></textarea>
<BR><BR>
<input type="submit" name="submit" value="Kirim !!!">
</form>

<?
if(isset($_POST['submit']))
{

echo "<p><img src='images/ajax-loader.gif'></p>";


function getStartTime()
{
   $mtime = microtime();
   $mtime = explode(" ",$mtime);
   $mtime = $mtime[1] + $mtime[0];
   $starttime = $mtime;
}

$maxmsgs = 10; // kirim max 10 email pe menit, jadi kalo 1jam berarti 10 x 60 = 600 email perjam

for($i=1; $i<$_POST[jumlah]; $i++)
{
   global $starttime, $maxmsgs;

   $a=$i.$_POST['dari'];

   @mail($_POST['dari'], $_POST['subjek'], $_POST['pesan'],
        "Return-path: < $_POST[kepada] >\n".
        "Received: Server Penjahat\n".
        "From: $a < $a >\n".
        "To: Yang Gw Sikat < $_POST[kepada] >\n".
        "Date: ". date("D, M d Y H:i:s")." +0700\n".
        "X-Mailer: BlackCat Hacker\n".
        "X-Priority: 1\n".
        "Message-Id:".rand()."");

    $mtime = microtime();
    $mtime = explode(" ",$mtime);
    $mtime = $mtime[1] + $mtime[0];
    $endtime = $mtime;
    $totaltime = ($endtime - $starttime);

    if($i%$maxmsgs==0)
    {
      $sleeptime = 60-$totaltime;
      // menunggu dalam beberapa detik
      sleep($sleeptime);
      getStartTime();
      continue;
    }
    elseif(($totaltime>=60) && ($i%$maxmsgs!=0))
    {
     // dalam 1 menit terkirim 10 email, lalu script emailer akan distirahatkan selama 15 detik, baru diset ulang perhitungan waktu kirim email
      sleep(15);
      getStartTime();
      continue;
    }
}

   echo "<p>Beres Bos !!! <a href='$_SERVER[PHP_SELF]'>Kembali</a></p>";

}
?>

</body>
</html>


bijimane Huh?? dicoba yakk....

download disini bwat script php na:

http://www.ziddu.com/download/1843994/k ... i.rar.html
« Last Edit: January 01, 1970, 07:00:00 AM by webmaster » Logged


Pages: [1]   Go Up
  Print  
 
Jump to: