Получение (только непрочитанных) электронных писем через IMAP или POP3 с использованием PHP - PullRequest
0 голосов
/ 19 июля 2011

Есть ли способ получить только непрочитанные сообщения со стороннего сервера (например, hotmail) по протоколу POP3 или IMAP, используя PHP?

Ответы [ 2 ]

2 голосов
/ 04 марта 2017

using PHP IMAP functions http://php.net/manual/en/function.imap-fetch-overview.php
$emails = imap_search($inbox,'UNSEEN');
If you want to print seen email simply change it to seen 
$emails = imap_search($inbox,'UNSEEN');

<table class="table table-striped table-hover" width="400" >
<tbody >
<tr class="warning">
<td class="inbox-small-cells">
<input type="checkbox" class="mail-checkbox">
</td>
<td ><i class="fa fa-star"></i></td>
<td >#</td>
<td >Sender</td>
<td >Subject</td>
<td ><i class="fa fa-paperclip"></i></td>
<td >Date</td>  
<td >Message</td>     
                             
 <?php

$hostname='{imap.gmail.com:993/imap/ssl}INBOX';
$username = 'myemail@gmail.com';
$password = 'mypass';
$inbox = imap_open($hostname,$username,$password) or die('Cannot connect to Tiriyo: ' . imap_last_error());
//$emails = imap_search($inbox,'ALL');
$emails = imap_search($inbox,'UNSEEN');
//$x=count($MB);
if($emails) {
rsort($emails);
/* for every email... */
foreach($emails as $email_number) {
//$email_number=$emails[0];
//print_r($emails);
/* get information specific to this email */
$overview = imap_fetch_overview($inbox,$email_number,0);
$message = imap_fetchbody($inbox,$email_number, 1);
 
$email_number;
$overview[0]->subject;
$overview[0]->from;
$overview[0]->date;
$overview[0]->size ;
    
?>
<tr class="text-info" >
<td class="inbox-small-cells" >
<input type="checkbox" class="mail-checkbox">
</td>
<td ><i class="fa fa-star"></i></td>
<td> <?php echo  $email_number; ?></td>
<td ><?php echo  $overview[0]->from;?></a></td>
<td><?php echo  $overview[0]->subject; ?></td>
<td class="view-message  inbox-small-cells"><i class="fa fa-paperclip"></i></td>
<td ><?php echo  $overview[0]->date; ?> </td>
</tr>        
                 
<?Php
  }
 }
?>
0 голосов
/ 19 июля 2011

Да, есть способ сделать то, что вы просите.Вам нужно будет использовать расширение IMAP PHP для обработки данных электронной почты.Вот несколько ссылок, которые помогут вам начать:

Базовое руководство:

http://davidwalsh.name/gmail-php-imap

Официальное описание расширения IMAP от PHP.net:

http://us3.php.net/manual/en/book.imap.php

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...