|
Posted by Mr Skimpy on 07/04/07 06:09
On Jul 4, 8:54 am, "Richard" <root@localhost> wrote:
> <shmic...@gmail.com> wrote in message
>
> news:1183418921.335848.66310@o11g2000prd.googlegroups.com...
>
>
>
>
>
> > Hi There,
>
> > I am looping through and reading the body contents of a mail box with
> > over 200 emails in it. The script is running very slow and timing out
> > after 180 seconds, only getting through about 180 of these emails. Is
> > there anyway I can increase the speed of this script? Why is it taking
> > so long to loop through all these emails? Code is below:
>
> > if($mailbox= imap_open( "{###.###.#.###:143/imap}mail_box", $a, $b))
> > {
> > set_time_limit(180);
> > $check = imap_check($mailbox);
> > $message_count = imap_num_msg($mailbox);
>
> > for ($i=1;$i<=10;$i++)
> > {
>
> > $header = imap_header($mailbox,$i);
> > $body = imap_body($mailbox,$i);
> > $message = imap_fetchbody($mailbox,$i,1);
>
> > $strpos = strripos($message,"textfield3");
> > $prettydate = date("jS F Y", $header->udate);
>
> > echo $prettydate." - ".substr($message, $strpos+13, 8)."<br/>";
>
> > }
>
> > imap_close($mailbox);
> > }
> > else echo "no connection";
>
> Hi NoName,
>
> I would open the connection, read all needed info, close the connection and
> only then do the processing.
>
> Other things:
> How long does the script take if you only read headers and nothing else?
> (Try to simplify the script to narrow down the problem)
> Why are you reading the message body twice? (First the full body, and then
> the first body section?)
> How big are the messages?
> This is not the real script, is it? (Or is there some reason you do only 10
> messages that I dont see?)
>
> Richard.- Hide quoted text -
>
> - Show quoted text -
The real script does the whole $message_count which is up to over 300
now. We are expecting about 500. The emails are about 20k each and
just have user submitted form data. I am reading out a userid value so
we have a collection of all people which have entered a survey.
Ahh, forgot to comment out the previous body line. I found I could
access specific body information with only imap_fetchbody. I will run
some more tests and see how I go.
Navigation:
[Reply to this message]
|