Hello,
This is a reply to an e-mail that you wrote on Thu, 17 Jul 2003 at 14:04, lines
prefixed by '>' were originally written by you.
> Ok, this is what I want to do. I would like to parse a mailbox and
> forward
> the returned mail in it to other users. For instance, if I send an
> e-mail
> to "[EMAIL PROTECTED]" and "[EMAIL PROTECTED]" doesn't exist it is
> going
> to send the return to "[EMAIL PROTECTED]". I want to parse
> "[EMAIL PROTECTED]" and
> send the e-mail to whoever is in the "Disposition-Notification-To"
> header of
> the e-mail. Anyone know where I can find a good script to parse mail
> boxes
> or maybe give me an idea of where to start? I checked hotscripts and
> some
> others but they are complete web based e-mail systems. I'd like to
> run this
> as a cron job if possible and I don't want to tear another system all
> apart
If you have the imap php extensions installed you could use them (they support
POP too) I normally work on systems without the imap enxtensions though so I
chose to make my own class to deal with POP3 related tasks. Here are some
snippets that you may find useful...
class POPClient {
..
function Connect(){
// connect to server
if(!$this->[EMAIL PROTECTED]($this->server, $this->port)){
$this->error = "Could not connect to
{$this->server}:{$this->port}";
return FALSE;
}
// login to server:
fputs($this->sock, "USER {$this->user}\r\n");
$buf = fgets($this->sock, 1024);
if($buf[0] != '+'){
$this->error = "Invalid username: {$this->user}";
return FALSE;
}
fputs($this->sock, "PASS {$this->pass}\r\n");
$buf = fgets($this->sock, 1024);
if($buf[0] != '+') {
$this->error = "Invalid password";
return FALSE;
}
$this->connected = TRUE;
return TRUE;
}
<snip>
function MessageCount(){
if($this->connected){
fputs($this->sock, "STAT\r\n");
$buf = fgets($this->sock, 1024);
$buf = fgets($this->sock, 1024);
$statbits = split(' ', $buf, 3);
if(isset($statbits[1])){
return $statbits[1];
} else {
return 0;
}
} else {
$this->error = "Not connected to server";
return FALSE;
}
}
<snip>
function RetrieveMsg($id, $headonly=FALSE){
if($this->connected){
if($headonly){ $command="TOP"; $param=" 0"; } else {
$command="RETR"; $param=""; }
fputs($this->sock, "$command $id$param\r\n");
$buf = fgets($this->sock, 1024);
if($buf[0] != '+') {
$this->error = "Mail server would not let me retrieve message
$id";
return FALSE;
}
$message="";$thisline="";
while ($thisline!=".\r\n"){ // .\r\n signifies the end of the
message
$thisline = fgets($this->sock, 1024);
$this->messagesource .= $thisline;
}
return TRUE;
} else {
$this->error = "Not connected to server";
return FALSE;
}
}
<snip>
}
--
phpmachine :: The quick and easy to use service providing you with
professionally developed PHP scripts :: http://www.phpmachine.com/
Professional Web Development by David Nicholson
http://www.djnicholson.com/
QuizSender.com - How well do your friends actually know you?
http://www.quizsender.com/
(developed entirely in PHP)
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php