Zombie123 Posted May 30, 2014 Share Posted May 30, 2014 Hi , hello zombie here , i also want to create this INBOX SYSTEM too but i'm a little bit confuse with some php code .can anybody help me ? please ... thank you . i already start some code . i just now need to connect this into database so that all unread emails will be going to write to database . what code i will use ? hihi ... i'm a newbie :)really appreciate with ur help im ----------------------------------------------------- i start like this ... <?php function unread_emails ($username , $password){ $hostname = '{imap.gmail.com:993/imap/ssl}INBOX'; /* try to connect */ $inbox = imap_open($hostname,$username,$password) or die('Cannot connect to Gmail: ' . imap_last_error()); /* grab emails */ $emails = imap_search($inbox,'UNSEEN'); echo count($emails)." "; echo "<pre>".print_r($emails,true)."</pre>"; //die; /* if emails are returned, cycle through each... */ if($emails) { $i=0; /* begin output var */ $output = ''; /* put the newest emails on top */ rsort($emails); /* for every email... */ foreach($emails as $email_number) { $i++; /* get information specific to this email */ $overview = imap_fetch_overview($inbox,$email_number,0); $message = imap_fetchbody($inbox,$email_number,1); /* output the email header information */ $output.= '<div class="toggler '.($overview[0]->seen ? 'read' : 'unread').'">'; $output.= '<span class="subject">'.$overview[0]->subject.'</span> '; $output.= '<span class="from">'.$overview[0]->from.'</span>'; $output.= '<span class="date">on '.$overview[0]->date.'</span>'; $output.= '</div>'; /* output the email body */ $output.= '<div class="body">'.$message.'</div>'; //if{$i==10} break; } echo $output; } /* close the connection */ imap_close($inbox); } unread_emails ('**********@gmail.com' , '*******' ); ?> Quote Link to comment Share on other sites More sharing options...
trq Posted May 30, 2014 Share Posted May 30, 2014 Do you have a specific question? Quote Link to comment Share on other sites More sharing options...
Clarkey Posted May 30, 2014 Share Posted May 30, 2014 (edited) You'd need to do something like this... (this code is not tested) <?php function unread_emails ($username , $password) { $hostname = '{imap.gmail.com:993/imap/ssl}INBOX'; /* try to connect */ $inbox = imap_open($hostname,$username,$password) or die('Cannot connect to Gmail: ' . imap_last_error()); /* grab emails */ $emails = imap_search($inbox,'UNSEEN'); echo count($emails)." "; echo "<pre>".print_r($emails,true)."</pre>"; //die; /* if emails are returned, cycle through each... */ if($emails) { $i=0; /* begin output var */ $output = ''; /* put the newest emails on top */ rsort($emails); /* for every email... */ foreach($emails as $email_number) { $i++; /* get information specific to this email */ $overview = imap_fetch_overview($inbox,$email_number,0); $message = imap_fetchbody($inbox,$email_number,1); /* output the email header information */ $output.= '<div class="toggler '.($overview[0]->seen ? 'read' : 'unread').'">'; $output.= '<span class="subject">'.$overview[0]->subject.'</span> '; $output.= '<span class="from">'.$overview[0]->from.'</span>'; $output.= '<span class="date">on '.$overview[0]->date.'</span>'; $output.= '</div>'; /* output the email body */ $output.= '<div class="body">'.$message.'</div>'; //if{$i==10} break; /* store this email in a database */ try { $dbh = new PDO('mysql:host=localhost;dbname=mydatabase', $dbuser, $dbpass); $sql = "INSERT INTO mytable (email_id, email_date, email_from, email_subject, email_body) VALUES (:email_id, :email_date, :email_from, :email_subject, :email_body)"; $qry = $dbh->prepare($sql); $qry->execute(array( ':email_id' => $email_number, ':email_date' => $overview[0]->date, ':email_from' => $overview[0]->from, ':email_subject' => $overview[0]->subject, ':email_body' => $message )); } catch (PDOException $e) { echo "PDO Error!: " . $e->getMessage() . "<br/>"; } } echo $output; } /* close the connection */ imap_close($inbox); } unread_emails ('**********@gmail.com' , '*******' ); ?> Edited May 30, 2014 by Clarkey Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.