Monitoring log, found errors such as 500503 send email prompts php code
IsSMTP (); // telling the class to use SMTP $ mail-> SMTPDebug = 1; // enables SMTP debug information (for testing) // 1 = errors and messages // 2 = messages only $ mail-> SMTPAuth = true; // enable SMTP authentication $ mail-> Host = "smtp.126.com "; // sets the SMTP server $ mail-> Port = 25; // set the SMTP port for the GMAIL server $ mail-> Username = "xxx@126.com "; // SMTP account username email username $ mail-> Password = "Xxxxxxxxx"; // SMTP account password $ mail-> SetFrom ('xxxxxxx @ 126.com ', 'error'); // $ now = "u_ex ". date ("ymdH "). ". log "; try {$ log = file (" F:/iis-log/W3SVC2 /". $ now); // modify the log path by yourself} catch (Exception $ e) {echo "no file"; exit;} $ error = array (); $ start = date ("I", time ()-120); $ end = date ("I"); if ($ start >$ end) {exit ;} $ aa = range ($ start, $ end); $ code = mkstr ($ aa); echo $ code; $ pattern = "/($ code ). * (\ s500 \ s | \ s503 \ s) /"; // Modify $ I = 0 here; foreach ($ log as $ k => $ v) {if (preg_match ($ pattern, $ v )) {$ error [] = $ v; echo $ v; $ I + = 1 ;}} if (! Empty ($ error) {$ content = implode ("
", $ Error); $ mail-> Subject =" $ I errors "; $ mail-> AddAddress (" xxxxxxxxxx@163.com "); $ mail-> AddAddress (" xxxxxxxx@126.com "); $ mail-> MsgHTML ($ content); $ mail-> send ();} echo "\ nover"; function mkstr ($ arr) {$ code = ''; foreach ($ arr as $ k => $ e) {$ code. = "\: $ e \: |" ;}$ code = rtrim ($ code, "|"); return $ code ;}