Hej jag har funderat fall nån vet eller har nån bra guide om hur man hanterar pop3 server i php?
Använda Pop3 Server I Php?
laynus
Nivå 5 · Fuskare
Najgor
↗ till inläggetHej jag har funderat fall nån vet eller har nån bra guide om hur man hanterar pop3 server i php?
Menar du som en pop3 email client ? Dvs. läsa hotmail/gmail via php?
laynus
Nivå 5 · Fuskare
ja typ men att det blir som ett nyhets system som får in allt info...
Najgor
↗ till inläggetja typ men att det blir som ett nyhets system som får in allt info...
include_once( 'GmailReader.php' ); $gmail = new GmailReader( '[email protected]', 'password' ); $email = $gmail->getEmailSince('Fri, 5 Sep 2008 9:00:00'); print_r($email);
Sen här kommer class filen;
<?php
class GmailReader
{
var $mbox;
function GmailReader( $user, $pass )
{
$this->mbox = imap_open("{imap.gmail.com:993/imap/ssl}INBOX",$user,$pass)
or die("can't connect: " . imap_last_error());
}
function openSentMail()
{
imap_reopen($this->mbox, "{imap.gmail.com:993/imap/ssl}[Gmail]/Sent Mail" )
or die("Failed to open Sent Mail: " . imap_last_error());
}
function openMailBox($mailbox)
{
imap_reopen($this->mbox, "{imap.gmail.com:993/imap/ssl}$mailbox" )
or die("Failed to open $mailbox: " . imap_last_error());
}
function getMailboxInfo()
{
$mc = imap_check($this->mbox);
return $mc;
}
/**
* $date should be a string
* Example Formats Include:
* Fri, 5 Sep 2008 9:00:00
* Fri, 5 Sep 2008
* 5 Sep 2008
* I am sure other's work, just test them out.
*/
function getHeadersSince($date)
{
$uids = $this->getMessageIdsSinceDate($date);
$messages = array();
foreach( $uids as $k=>$uid )
{
$messages[] = $this->retrieve_header($uid);
}
return $messages;
}
/**
* $date should be a string
* Example Formats Include:
* Fri, 5 Sep 2008 9:00:00
* Fri, 5 Sep 2008
* 5 Sep 2008
* I am sure other's work, just test them out.
*/
function getEmailSince($date)
{
$uids = $this->getMessageIdsSinceDate($date);
$messages = array();
foreach( $uids as $k=>$uid )
{
$messages[] = $this->retrieve_message($uid);
}
return $messages;
}
function getMessageIdsSinceDate($date)
{
return imap_search( $this->mbox, 'SINCE "'.$date.'"');
}
function retrieve_header($messageid)
{
$message = array();
$header = imap_header($this->mbox, $messageid);
$structure = imap_fetchstructure($this->mbox, $messageid);
$message['subject'] = $header->subject;
$message['fromaddress'] = $header->fromaddress;
$message['toaddress'] = $header->toaddress;
$message['ccaddress'] = $header->ccaddress;
$message['date'] = $header->date;
return $message;
}
function retrieve_message($messageid)
{
$message = array();
$header = imap_header($this->mbox, $messageid);
$structure = imap_fetchstructure($this->mbox, $messageid);
$message['subject'] = $header->subject;
$message['fromaddress'] = $header->fromaddress;
$message['toaddress'] = $header->toaddress;
$message['ccaddress'] = $header->ccaddress;
$message['date'] = $header->date;
if ($this->check_type($structure))
{
$message['body'] = imap_fetchbody($this->mbox,$messageid,"1"); ## GET THE BODY OF MULTI-PART MESSAGE
if(!$message['body']) {$message['body'] = '[NO TEXT ENTERED INTO THE MESSAGE]nn';}
}
else
{
$message['body'] = imap_body($this->mbox, $messageid);
if(!$message['body']) {$message['body'] = '[NO TEXT ENTERED INTO THE MESSAGE]nn';}
}
return $message;
}
function check_type($structure) ## CHECK THE TYPE
{
if($structure->type == 1)
{
return(true); ## YES THIS IS A MULTI-PART MESSAGE
}
else
{
return(false); ## NO THIS IS NOT A MULTI-PART MESSAGE
}
}
}
?>
Du får modifiera den för hur du själv vill ha den då all information visas som mailen har.