Al wrote:
I writing a script to fetch bounced emails from a dedicated mailbox.
$mbox = imap_open($addr, $user, $pw);
I've got a simple foreach(){
$bodyStr = imap_body($mbox, $num);
... $hdrStr = imap_fetchheader($mbox, $num);
> ....
Using 110/pop3 is incredibly slow.
Is it slow if you manually telnet in to the port?
telnet domain.com 110
then enter
user username
pass password
and see how long that takes to come up.
Some pop3 servers are slower than others because of they way they handle
things. Some use mbox files which contain all emails in one huge file
and then when you log in, they copy it to a temp file, so if you're
checking an account with a lot of email, this is going to take a while.
Some lock the account so nobody else can log in (and don't do the
copying around). Some use maildir structures where each file on the
server is a separate email the account has received, and they don't copy
the file(s) around when you log in.
So it really depends on the mail server setup.
The php documentation implies that
using the direct IMAP connection may be faster. But, I can't get it to
work with
{foo.org:143/imap} with or without the "/imap". "110/pop3" works fine.
Probably because you're not running an imap email server. They are two
different types of servers and are usually set up separately.
Is IMAP really faster? If not, I'll not bother trying to get IMAP to work.
No idea about that one.
Second question: I need data from both the bounced header and the
original header, which is in the bounced body. Thus, I used
imap_fetchheader() and imap_body(). Obviously this requires two fetches.
Is there a way to fetch the whole message with one fetch? I can't find a
function to do it.
I don't think so. I wrote some similar code a few months ago and had to
do it in 2 goes as well.
--
Postgresql & php tutorials
http://www.designmagick.com/
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php