https://www.directadmin.com/search_versions.php?help=no&versions=yes&query=CMD_API_
เช่น อ่านค่าเมล์ ของ User ว่าเต็มหรือไม่แล้วแจ้งเตือนในเมล์
ใช้ httpsocket.php ร่วมกับ CMD_API_POP
ไฟล์อยู่ที่
http://www.scivalve.com/checkuse/checkmail.php
Code:
- include("httpsocket.php");
- //nou de socket is geinclude kunnen we hem starten
- $sock = new HTTPSocket;
- //nu gaan we inloggen in Direct Admin (verander wel de gegevens)
- $sock->connect('127.0.0.1',2222);
- $sock->set_login('XXXXX','XXXXXXXX');
- $domain='scivalve.com' ;
- function formatSizeUnits($bytes)
- {
- if($bytes >= 1099511627776){
- $bytes = number_format($bytes / 1099511627776, 2) . ' TB';
- } elseif($bytes >= 1073741824){
- $bytes = number_format($bytes / 1073741824, 2) . ' GB';
- } elseif($bytes >= 1048576){
- $bytes = number_format($bytes / 1048576, 2) . ' MB';
- } elseif ($bytes >= 1024){
- $bytes = number_format($bytes / 1024, 2) . ' KB';
- } elseif ($bytes > 1){
- $bytes = $bytes . ' bytes';
- } elseif ($bytes == 1){
- $bytes = $bytes . ' byte';
- } else {
- $bytes = '-';
- }
- return $bytes;
- }//Close Functions.
- //User Susspende เช็คไม่ได้ต้องเขียนไว้เทียบเอา
- $UserSuspended="chanakan
- jirasak
- julalak
- kongsit
- mathuros
- monthon
- nattapol
- nontiwa
- pattanan
- porramate
- sarawut
- sarawut_e
- sudjai
- tanupat
- thanyalak";
- $sock->query('/CMD_API_POP', array(
- 'action' => 'full_list',
- 'type' => 'quota',
- //'suspended' => 'yes',
- 'domain' => $domain
- ));
- $user_quota = $sock->fetch_parsed_body();
- //print_r($user_quota);
- $i = 0;
- foreach ($user_quota as $key => $value) {
- //echo $key.":".$value."<br>";
- //ใช้ List Run บน Crontab แล้ว Error
- //list($quota, $sent, $usage, $Use, $usage_bytes) = explode('&', $value);
- $pieces = explode("&", $value);
- $quota = $pieces[0];
- //$sent = $pieces[1];
- $usage = $pieces[2];
- //$Use = $pieces[3];
- //$usage_bytes = $pieces[4];
- //echo $key.":".$quota.":".$usage;
- $quotaValue = explode('=', $quota);
- $usageValue = explode('=', $usage);
- if (strpos($UserSuspended, "'".$key."'") !== false) {
- if((($quotaValue[1] - $usageValue[1]) <= 0) && ($quotaValue[1] != 0)){
- //echo $key." : ส่งเมล์ <br>";
- $i = $i+1;
- if($i == 1){
- $EmailUser = $i." : ".$key."@scivalve.com ".formatSizeUnits($quotaValue[1])."/".formatSizeUnits($usageValue[1])."<br>";
- } else {
- $EmailUser = $EmailUser.$i." : ".$key."@scivalve.com ".formatSizeUnits($quotaValue[1])."/".formatSizeUnits($usageValue[1])."<br>";
- }
- }//Close if.
- }//Close if.
- }//Close for.
- //echo $EmailUser;
- if($i > 0){
- //ส่งเมล์
- //อ้าง Path Run บนเว็บผ่าน แต่ Run ผ่าน Crontab Error
- require("/home/scivalve/public_html/mailer/class.phpmailer.php");
- $mail = new PHPMailer();
- $body = " พบเมล์ scivalve ของ User ใกล้เต็ม กรุณาตรวจสอบ ดังนี้ Quota/Used<br> $EmailUser ";
- $mail->CharSet = "utf-8";
- $mail->IsSMTP();
- $mail->SMTPDebug = 0;
- $mail->SMTPAuth = true;
- $mail->Host = "ssl://smtp.gmail.com"; // SMTP server
- $mail->Port = 465; // พอร์ท
- $mail->Username = "XXXXXX@gmail.com"; // account SMTP
- $mail->Password = "XXXXXX"; // รหัสผ่าน SMTP
- $mail->SetFrom("scivalvethailand@gmail.com", "scivalve.com");
- $mail->AddReplyTo("scivalvethailand@gmail.com", "scivalve.com");
- $mail->Subject = "Check Mail Full @scivalve.com";
- $mail->MsgHTML($body);
- //if($fileRename0 != ""){
- // $file = "message/".$fileRename0;
- // $mail->addAttachment($file, $fileRename0);
- //}
- $mail->AddAddress("suwit@scivalve.com", "SCI"); // ผู้รับคนที่ 1
- $mail->AddAddress("nikom@scivalve.com", "SCI"); // ผู้รับคนที่ 2
- $mail->AddAddress("seksan@scivalve.com", "SCI"); // ผู้รับคนที่ 3
- $mail->Send();
- //if(!$mail->Send()) {
- // $report= "Mailer Error: " . $mail->ErrorInfo;
- //} else {
- // $report= " <center><br><font =class='txt1'><b>Send message complete<br>Please wait for back to home page<b></font>";
- //}
- }
Test Run command
- /usr/local/bin/php /home/scivalve/public_html/checkuse/checkmail.php
ssh ไปที่ Server VPS สร้าง Crontab ใช้ Vi ยาก ใช้ nana ไฟล์อยู่ที่
- nano /var/spool/cron/root
ตั้งไว้ เช็คทุกวัน หกโมงเช้า จันทร์ - เสาร์
0 6 * * 1-6 /usr/local/bin/php /home/scivalve/public_html/checkuse/checkmail.php
เมล์ที่แจ้งเตือน ตัวอย่าง
No comments:
Post a Comment