Page 1 of 1

building up a string and mail funtion problem

Posted: Sat Jan 30, 2010 7:26 am
by kevinkhan
Hi everyone..

I have a php script that works perfect

Code: Select all

    $to = "info@eurowebexperts.com";
   $subject = "Dublin Texting Starting At: ".date('Y-m-d H:i:s');
   $body = "Starting at: ".date('Y-m-d H:i:s');
   mail($to, $subject, $body);
    unset($body);
    
      $body = "testing 123 \n";
        $body .= "No phone numbers found to be sent messages.\n";
    
    
 
    
     $to = "info@eurowebexperts.com";
   $subject = "Dublin Texting Finished At: ".date('Y-m-d H:i:s');
   
   mail($to, $subject, $body);

I build up a string using .= and mail the whole string at the end of the script..

Now im trying to do the exact same thing with another script but is not working at all i dont know what the problem is.. I want to run the script and mail the $body variable at the end of the script.. Please have a look and see if you can tell me the problem

Thanks

Code: Select all

#!/usr/local/bin/php
<?php
 
    // echo time of beginning
    $to = "info@eurowebexperts.com";
   $subject = "Dublin Texting Starting At: ".date('Y-m-d H:i:s');
   $body = "Starting at: ".date('Y-m-d H:i:s');
   mail($to, $subject, $body);
    unset($body);
    require_once('/usr/local/pem/vhosts/100175/webspace/httpdocs/eurowebexperts.com/scripts/meteorDublin/mysql.php');
    $obj = new db();
 
    set_time_limit(0);
    
    // report errores
    error_reporting(E_ERROR | E_WARNING | E_PARSE);
    
    // accounts must be put in this file
    $source_file = '/usr/local/pem/vhosts/100175/webspace/httpdocs/eurowebexperts.com/scripts/meteorDublin/accounts.txt';
    
    // message must be put in this file
    $message_file = '/usr/local/pem/vhosts/100175/webspace/httpdocs/eurowebexperts.com/scripts/meteorDublin/message.txt';
    $fp = fopen($message_file, 'r');
    $message = fread($fp, filesize($message_file));
    fclose($fp);
    
    $fp_s = fopen($source_file, 'r');
        
    $ch = curl_init();
 
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)');
 
    //curl_setopt($ch, CURLOPT_PROXY, '200.174.85.193:3128');
                
    // save cookie
    curl_setopt($ch, CURLOPT_COOKIEJAR, '/usr/local/pem/vhosts/100175/webspace/httpdocs/eurowebexperts.com/scripts/meteorDublin/cookie.txt');
 
    // get cookie
    curl_setopt($ch, CURLOPT_COOKIEFILE, '/usr/local/pem/vhosts/100175/webspace/httpdocs/eurowebexperts.com/scripts/meteorDublin/cookie.txt');  
 
    // not to print out the results
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    
    //
    // get the list of phone number which will be sent messages
    //
    
    $sql = 'select phone from phone_number where phone not in (select phone from phone_number_sent)';
    $obj->executesql($sql);
    $phone_list = $obj->fetch_array();
    
    if (count($phone_list)>0) {
    
        $body = "\n", count($phone_list), " PHONE AVAILABLE.\n";
        $body .=  'Message lenght (should be less than 160) is: ', strlen($message), "\n";
        $body .=  "Message is: $message\n\n";
        
        $num_sent = 0;
        
        // search for a account which haven't reached the limitation
        while (($data = fgetcsv($fp_s, 32)) !== FALSE and $num_sent < count($phone_list)) {
        
            $array_data = explode(':', $data[0]);
    
            $account  = trim($array_data[0]);
            $password = trim($array_data[1]);
    
            $body .= 'Account: ', $account, ", ";
        
            //
            // Log in
            //
        
            // set URL
            $url = 'https://www.mymeteor.ie/go/mymeteor-login-manager';
            //echo "URL: $url\n";   // for debug
            curl_setopt($ch, CURLOPT_URL, $url);
            
            unset($post_data);
    
            $post_data['msisdn'] = $account;
            $post_data['pin']    = $password;
    
            curl_setopt($ch, CURLOPT_POST, true);
            curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
            
            // execute request
            $text = curl_exec($ch);
            //echo $text;
            //print_r(curl_getinfo($ch));
            
            //break;
 
            $error = curl_errno($ch);
            if($error>0) {
                $body .=  'Curl no: ' . curl_errno($ch), "\n";
                $body .=  'Curl error: ' . curl_error($ch), "\n";
            }
        
            //$patten = '/<span class="numbers"><strong>(.*?)<\/strong>/i';
            //preg_match($patten, $text, $matches);
            //$left_sm = trim($matches[1]);
        
            //echo "free text left: $left_sm\n";
            
            //
            // go to https://www.mymeteor.ie/go/freewebtext
            //
 
            $url = 'https://www.mymeteor.ie/go/freewebtext';
            //echo "URL: $url\n";   // for debug
            curl_setopt($ch, CURLOPT_URL, $url);
        // methods to fetch a web page GET or POST
            curl_setopt($ch, CURLOPT_POST, false);
 
            // execute request
            //stores everything on the page as $text 
            $text = curl_exec($ch);
            //echo $text;
 
            $error = curl_errno($ch);
            if($error>0) {
                $body .=  'Curl no: ' . curl_errno($ch), "\n";
                $body .=  'Curl error: ' . curl_error($ch), "\n";
            }
        
            $patten = '/Free web texts left <input type="text" value="(\d*?)" disabled size=2>/i';
            preg_match($patten, $text, $matches);
            $left_sm = trim($matches[1]);
        
            $body .=  "free text left: $left_sm\n";
 
            while ($left_sm > 0 and $num_sent < count($phone_list)) {
                    
                //
                // add phone number
                //
                
                $phone = $phone_list[$num_sent];
                
                $body .= 'No: ', $left_sm, ', sending to ', $phone;
        
                $patten = '/var CFID = (\d*?);/i';
                preg_match($patten, $text, $matches);
                $cfid = $matches[1];
        
                $patten = '/var CFTOKEN = (\d*?);/i';
                preg_match($patten, $text, $matches);
                $cftoken = $matches[1];
        
                // set URL
                $url = 'https://www.mymeteor.ie/mymeteorapi/index.cfm?event=smsAjax&CFID='.$cfid.'&CFTOKEN='.$cftoken.'&func=addEnteredMsisdns';
                //echo "URL: $url\n";   // for debug
                curl_setopt($ch, CURLOPT_URL, $url);
        
                unset($post_data);
    
                $post_data['ajaxRequest'] = 'addEnteredMSISDNs';
                $post_data['remove']      = '-';
                $post_data['add']         = '0|'.$phone;
    
                curl_setopt($ch, CURLOPT_POST, true);
                // attach $post_data to Http headers on next line
                curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
            
                // execute request
                $text = curl_exec($ch);
                // $text is equal to source code of https://www.mymeteor.ie/go/freewebtext
                //echo $text;
 
                $error = curl_errno($ch);
                if($error>0) {
                    $body .=  'Curl no: ' . curl_errno($ch), "\n";
                    $body .=  'Curl error: ' . curl_error($ch), "\n";
                }
 
                //
                // send message
                //
                
                // set URL
                $url = 'https://www.mymeteor.ie/mymeteorapi/index.cfm?event=smsAjax&func=sendSMS&CFID='.$cfid.'&CFTOKEN='.$cftoken;
                //echo "URL: $url\n";   // for debug
                curl_setopt($ch, CURLOPT_URL, $url);
        
                unset($post_data);
    
                $post_data['ajaxRequest'] = 'sendSMS';
                $post_data['messageText'] = $message;
    
                curl_setopt($ch, CURLOPT_POST, true);
                curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
            
                // execute request
                $text = curl_exec($ch);
                //echo $text;
 
                $error = curl_errno($ch);
                if($error>0) {
                    $body .=  'Curl no: ' . curl_errno($ch), "\n";
                    $body .=  'Curl error: ' . curl_error($ch), "\n";
                }
                
                $body .=  ' Done.';
                
                $sql = "insert into phone_number_sent (phone, account, date_sent) values ('{$phone}', '{$account}', now())";
                $obj->executesql($sql);
                
                $num_sent++;
 
                //
                // go to https://www.mymeteor.ie/go/freewebtext
                //
 
                $url = 'https://www.mymeteor.ie/go/freewebtext';
                //echo "URL: $url\n";   // for debug
                curl_setopt($ch, CURLOPT_URL, $url);
        
                curl_setopt($ch, CURLOPT_POST, false);
 
                // execute request
                $text = curl_exec($ch);
                //echo $text;
 
                $error = curl_errno($ch);
                if($error>0) {
                    $body .=  'Curl no: ' . curl_errno($ch), "\n";
                    $body .=  'Curl error: ' . curl_error($ch), "\n";
                }
        
                $patten = '/Free web texts left <input type="text" value="(\d*?)" disabled size=2>/i';
                preg_match($patten, $text, $matches);
                $left_sm = trim($matches[1]);
        
                $body .=  " Left: $left_sm\n";
            
            }
            
            $body .=  "\n";
            
            //
            // log out
            //
    
            // set URL
            $url = 'https://www.mymeteor.ie/go/logout';
            //echo "URL: $url\n";   // for debug
            curl_setopt($ch, CURLOPT_URL, $url);
        
            curl_setopt($ch, CURLOPT_POST, false);
 
            // execute request
            $text = curl_exec($ch);
            //echo $text;
 
            $error = curl_errno($ch);
            if($error>0) {
                $body .= 'Curl no: ' . curl_errno($ch), "\n";
                $body .= 'Curl error: ' . curl_error($ch), "\n";
            }
        
        }
        
        fclose($fp_s);
            
    } else {
    
        $body .=  "No phone numbers found to be sent messages.\n";
    
    }
 
    // close session
    curl_close($ch);
    
     $to = "info@eurowebexperts.com";
   $subject = "Dublin Texting Finished At: ".date('Y-m-d H:i:s');
   
   mail($to, $subject, $body);
        
?>