On Fri, May 2, 2008 at 1:20 AM, Richard Kurth <[EMAIL PROTECTED]>
wrote:

> Way does my for loop not complete the task if there are 4 emails it only
> process 3 emails through the foreach loop if there is 3 it only process 2
>
> $file=file_get_contents("C:\web\bouncehandler\eml\em$i");
> $multiArray = Bouncehandler::get_the_facts($file);


have you checked $multiArray here to verify it has the number of emails you
expect there are to be processed ?



> $EMAIL = $the['recipient'];
> foreach($multiArray as $the){
>       switch($the['action']){
>       case 'failed':
>       $sql="UPDATE contacts SET emailstatus = 'Fatal-Bounced' WHERE
> emailaddress = '$EMAIL'";
>       mysql_query($sql) or die("Invalid query: " . mysql_error());
>   break;
>       case 'transient':
>       $sql="UPDATE contacts SET emailstatus = 'Bounced' WHERE emailaddress
> = '$EMAIL'";
>       mysql_query($sql) or die("Invalid query: " . mysql_error());
>       break;
>       case 'autoreply':
>       $sql="UPDATE contacts SET emailstatus = 'Bounced' WHERE emailaddress
> = '$EMAIL'";
>       mysql_query($sql) or die("Invalid query: " . mysql_error());
>       break;
>       default:
>       //don't do anything
>       break;
>       }


have you done any logging, or error checking to see if one (or more) of the
emails isnt falling into the default case of the switch statement ?

-nathan

Reply via email to