Advertisement
Guest User

11

a guest
Feb 19th, 2019
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 7.18 KB | None | 0 0
  1. <?php
  2. // error_reporting(0);
  3. use PHPMailer\PHPMailer\PHPMailer;
  4. use PHPMailer\PHPMailer\Exception;
  5. require 'src/Exception.php';
  6. require 'src/PHPMailer.php';
  7. require 'src/SMTP.php';
  8. require 'function.php';
  9.  
  10.  
  11. echo "
  12.       ".$blue.".
  13.     ".$blue."'':''$clear
  14.    ___:____     |''\/''|   ".$gbreen."MKATO BCC SENDER$clear
  15.  ,'        `.    \    /    ".$purple."Version 1.0$clear
  16.  |  O        \___/   |
  17. ".$blue."~^~^~^~^~^~^~^~^~^~^~^~^~$clear
  18. ";
  19.  
  20. $quetionforstartfirst = scrn('Have to create user ?: ');
  21. if ($quetionforstartfirst != 'yes') {
  22.     passthru('php create.php');
  23.     echo "\r\n";echo "\r\n";
  24.     echo "Please Upload the .csv file to your admin and then hit yes\r\n";
  25. }
  26.  
  27. $list = file_get_contents(getcwd().'/list/'.$mkato_list['file']) or die("Mailist not found!");
  28. $list = preg_split('/\n|\r\n?/', $list);
  29. if ($mkato_list['removeduplicate'] == true) {
  30.     $list = array_unique($list);
  31. }
  32. $list = str_replace(" ", '', $list);
  33. $list = preg_grep("/[a-z0-9]+([_\\.-][a-z0-9]+)*@([a-z0-9]+([\.-][a-z0-9]+)*)+\\.[a-z]{2,}/i",
  34.        $list);
  35. $list_total = count($list);
  36. $smtpread = file_get_contents(getcwd().'/smtp/'.$mkato_smtp) or die("SMTP File not found!");
  37. $smtpread = preg_split('/\n|\r\n?/', $smtpread);
  38. array_shift($smtpread);
  39. $smtpread=array_values(array_filter($smtpread));
  40.  
  41. echo "\n{$gred}Getting all required information{$clear}";
  42. // for ($i=0 ; $i<=4 ; $i++) {
  43. //     echo '.';
  44. //     usleep(600000);
  45. // }
  46. echo "\r\n";
  47. echo "{$yellow}You Have ".$list_total." List to be sent{$clear}\r\n";
  48. echo "\r\n";echo "\r\n";
  49. $quetionforstart = scrn('Continue to send ?: ');
  50. if ($quetionforstart != 'yes') {
  51.     exit("{$red}Sender is Stop Working{$clear}\r\n");
  52. }
  53.  
  54. echo "\r\n";echo "\r\n";
  55.  
  56.  
  57.  
  58.  
  59. $no = 1;
  60. $i=0;
  61.  
  62.  
  63. $no_send = 1;
  64. $no_list = 1;
  65. $email_split = array_chunk($list, $mkato_setting['max']);
  66. foreach ($email_split as $key => $e_list) {
  67.     $takeawaysmtp = $smtpread[$i%count($smtpread)];
  68.     $taleawayinbox = $mkato_inbox[$i%count($mkato_inbox)];
  69.     $takesmtp = explode(',', $takeawaysmtp);
  70.     echo "[{$yellow}MKATO{$clear}] [".$no_send."/".count($email_split)."] {$green}Proccess Sending to : {$clear}\r\n";
  71.     foreach ($e_list as $key2 => $added) {
  72.         echo "[".++$key2."] Add {$purple}$added{$clear}\r\n";
  73.     }
  74.     echo "{$green}Total of emails to be sent : {$clear}{$yellow}". count($e_list)."{$clear}\r\n";
  75.     echo "{$green}Sending with SMTP : ". $takesmtp[2]."{$clear}\r\n";
  76.     $tSend = sendbcc($e_list,$takeawaysmtp,$mkato_setting,$taleawayinbox,$mkato_header);
  77.     if ($tSend['status'] == 'ok') {
  78.         $tStatus = "{$gbreen}Success{$clear}";
  79.     }else{
  80.         $tStatus = "{$red}Failed! Reason :{$clear}".$tSend['info'];
  81.     }
  82.     echo "Sending status : ".$tStatus;
  83.     echo "\r\n\n";
  84.     $i++;
  85.     $no_send++;
  86.     sleep($mkato_setting['delay']);
  87. }
  88.  
  89.  
  90.  
  91. function sendbcc($mkato_list,$mkato_smtp, $mkato_setting, $mkato_inbox, $mkato_header){
  92.         $mail = new PHPMailer(true);
  93.         try {
  94.             $getsmtp = explode(',', $mkato_smtp);
  95.             $mail->SMTPDebug = 0;
  96.             $mail->isSMTP();
  97.             $mail->Host = 'smtp.gmail.com';
  98.             $mail->SMTPAuth = true;
  99.             $mail->Username = $getsmtp[2];
  100.             $mail->Password = $getsmtp[3];
  101.             $mail->SMTPSecure = 'tls';
  102.             $mail->Port = 587;
  103.             $mail->Priority = $mkato_setting['priority'];
  104.             $mail->Encoding = $mkato_setting['encoding'];
  105.             $mail->CharSet = $mkato_setting['charset'];
  106.             $mail->setFrom($getsmtp[2], $mkato_inbox['fname']);
  107.             if ($mkato_inbox['to'] != NULL) {
  108.                 $mail->addAddress($mkato_inbox['to']);
  109.             }
  110.  
  111.             foreach ($mkato_list as $key) {
  112.                 $mail->addBCC($key);
  113.             }
  114.             if ($mkato_setting['insertemailtest'] == true) {
  115.                 $gettestlist = explode('|', $mkato_setting['emailtest']);
  116.                 foreach ($gettestlist as $key2) {
  117.                 $mail->addBCC($key2);
  118.                 }
  119.             }
  120.             if ($mkato_setting['header'] == true){
  121.                     foreach ($mkato_header as $mheader) {
  122.                         $mkatoheader = explode("|", $mheader);
  123.                         $mail->addCustomHeader($mkatoheader[0], $mkatoheader[1]);
  124.                     }
  125.             }
  126.             if ($mkato_inbox['attachfile'] != NULL) {
  127.                 $mkato_namepdf = preg_replace_callback('/##randstr##/', function ($match)
  128.                     {
  129.                         static $i;
  130.                         $i++;
  131.                         return strtoupper(randstr(8));
  132.                     }
  133.                     , $mkato_inbox['attachname']);
  134.                 $mail->addAttachment(getcwd().'/attachment/'.$mkato_inbox['attachfile'], $mkato_namepdf);
  135.             }
  136.  
  137.                 ##daerah letter
  138.                 $link = explode('|', $mkato_setting['link']);
  139.                 $letter = file_get_contents(getcwd().'/letter/'.$mkato_inbox['letter']) or die("Letter not found!");
  140.                 $letter = str_ireplace("##link##", $link[array_rand($link)]."?id=".randstr(8), $letter);
  141.                 $letter = str_ireplace("##randua##", getuseragent() , $letter);
  142.                 $letter = str_ireplace("##randnum##", rand(1, 9) , $letter);
  143.                 $letter = str_ireplace("##randip##", randip() , $letter);
  144.                 $letter = str_ireplace("##randcountry##", randcountry() , $letter);
  145.                 $letter = str_ireplace("##randos##", randos() , $letter);
  146.                 // $letter = str_ireplace("##randstr##", randstr(10) , $letter);
  147.                 $letter = str_ireplace("##randstr2##", randstr(4) , $letter);
  148.                 $letter = str_ireplace("##date##", date('D, F d, Y  g:i A') , $letter);
  149.                 $letter = str_ireplace("##date2##", date('D, F d, Y') , $letter);
  150.                 $letter = str_ireplace("##date3##", date('F d, Y  g:i A') , $letter);
  151.                 $letter = str_ireplace("##date4##", date('F d, Y') , $letter);
  152.                 $letter = xs($letter, "##numstr##");
  153.                 $letter = preg_replace_callback('/##randstr##/', function ($match)
  154.                     {
  155.                         static $i;
  156.                         $i++;
  157.                         return strtoupper(randstr(8));
  158.                     }
  159.                     , $letter);
  160.  
  161.                 ##daerah subject
  162.                 $mkato_inbox['subject'] = preg_replace_callback('/##randstr##/', function ($match)
  163.                     {
  164.                         static $i;
  165.                         $i++;
  166.                         return strtoupper(randstr(8));
  167.                     }
  168.                     , $mkato_inbox['subject']);
  169.                 $mkato_inbox['subject'] = str_ireplace("##randnum##", rand(1, 9) , $mkato_inbox['subject']);
  170.                 // $mkato_inbox['subject'] = str_ireplace("##randstr##", randstr(10) , $mkato_inbox['subject']);
  171.                 // $mkato_inbox['subject'] = str_ireplace("##randstr2##", randstr(4) , $mkato_inbox['subject']);
  172.                 $mkato_inbox['subject'] = str_ireplace("##date##", date('D, F d, Y  g:i A') , $mkato_inbox['subject']);
  173.                 $mkato_inbox['subject'] = str_ireplace("##date2##", date('D, F d, Y') , $mkato_inbox['subject']);
  174.                 $mkato_inbox['subject'] = str_ireplace("##date3##", date('F d, Y  g:i A') , $mkato_inbox['subject']);
  175.                 $mkato_inbox['subject'] = str_ireplace("##date4##", date('F d, Y') , $mkato_inbox['subject']);
  176.             $mail->isHTML(true);
  177.             $mail->AllowEmpty = true;
  178.             $mail->Subject = $mkato_inbox['subject'];
  179.             $mail->Body    = $letter;
  180.             $mail->send();
  181.             return array('status' => 'ok', 'info' => '');
  182.         } catch (Exception $e) {
  183.             return array('status' => 'bad', 'info' => $mail->ErrorInfo);
  184.         }
  185. }
  186. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement