Page 1 of 1

Imap help

Posted: Sat Feb 07, 2004 3:24 pm
by chriswatson
Hi i'm trying to get a script working but having major problems, so would love some help please.

Here's the code-

Code: Select all

if (isset($sessuser)&&($action=="acceptall"))
	{
		$query="select password from users where username='$sessuser'";
		$q->query($query);
		$q->next_record();
		$password=$q->f("password");
		$query='select * from pending where userid='.$key;
		$q->query($query);
		if ($q->nf()>0)
		$q->next_record();
		$useridvar=$q->f("userid");
		$fromevar=$q->f("frome");
		$emailsubject=$q->f("subject");
		$emailbody=stripslashes($q->f("body"));
		$emailheader=stripslashes($q->f("header"));	
		$q2->query($query);
		while ($q2->next_record())	
{
{
			$query='insert into emails values (NULL, '.$useridvar.', "'.$fromevar.'", 1) ';
			$q->query($query);
		}
			{
				$stream = @imap_open("{localhost:143}INBOX",$sessuser.'@'.$mailservername, $password);
			}
			imap_append($stream,"{localhost:143}INBOX"
								   ,$emailheader."\r\n"
								   .$emailbody."\r\n"
								   );
				imap_close($stream);

			$useridvar=$q2->f("userid");
			$fromevar=$q2->f("frome");
			$query='select COUNT(*) as numar from emails where (email="'.$fromevar.'")and(userid="'.$useridvar.'")';
			$q->query($query);
			$q->next_record();
			if($q->f("numar")==0)
			{
				$query='insert into emails values (NULL, '.$useridvar.', "'.$fromevar.'", 2) ';
				$q->query($query);
			}
		$query='delete from pending where userid='.$key;
		$q->query($query);
		}
		$action="pendingemails";
	}
The above code collects emails stored in the mysql database and forward them to the user . The only problem is , if 10 emails are stored it will send email no.1 10 times... instead of each email once ???? I've been playing for the past 2 days now and can't seem to get it to work.

Any help would be much appricated. :D

Thanks for your help

Chris.