Bonjour à tous, je sais que ça existe déjà mais bon, je suis en train de faire un client webmail, je débute, je m'aide de l'aide PHP, j'en suis au point où je remonte tous la liste de message dans la boîte aux lettres et j'affiche l'expediteur, l'objet, la date d'envoi et la taille. J'en suis au tout début en fait.
Je ne comprends pas que les tailles des messages affichées ne correspondent pas toutes aux tailles (pour les mêmes messages bien sûr) que m'affiche Outlook. Certaines correspondent, d'autres pas, avec des différences de 3 Mo quand même sur un message.
D'autre part, j'ai la date d'envoi en utilisant la fonction imap_fetch_overview, comment faire pour obtenir la date de réception comme dans Outlook ?
J'ai essayé des scripts trouvés sur Internet, ceux que j'arrive à faire fonctionner sont un peu trop complexe pour moi, ça fait souvent usine à gaz, ou tout est imbriqué, pas facile de comprendre pour le débutant que je suis.
De plus, par rapport aux scripts que je trouve sur Internet, je trouve le petit bout de code que j'ai pour le moment est bien lent.
Toutes aides, exemples simples sont les bienvenus. Voila le code que j'ai pour le moment et qui me remonte des tailles parfois bizarre.
<?
set_time_limit(0);
$mbox = imap_open("{AdresseServeurPop:110/pop3}INBOX", "identifiant", "motdepasse");
echo "<table width=\"200\" border=\"0\" align=\"center\">";
echo "<tr>";
echo "<td nowrap bgcolor=\"#F5F5F5\"><strong>De</strong></td>";
echo "<td nowrap bgcolor=\"#F5F5F5\"><strong>Sujet</strong></td>";
echo "<td nowrap bgcolor=\"#F5F5F5\"><strong>Envoyé le</strong></td>";
echo "<td nowrap bgcolor=\"#F5F5F5\"><strong>Taille</strong></td>";
echo "</tr>";
$overview = imap_fetch_overview($mbox, "1:".imap_num_msg($mbox));
reset($overview);
while (list($key, $val) = each($overview))
{
$sujet = imap_mime_header_decode($val->subject);
$expediteur = imap_mime_header_decode($val->from);
$date = date('d-m-y H:i',strtotime($val->date));
$taille = $val->size;
if ($taille < 1024)
{
$fsize = $taille." octets";
}
elseif (($taille >= 1024) && ($taille < 1048576))
{
$fsize = round(($taille/1024));
$fsize = $fsize." Ko";
}
elseif (($taille >= 1048576) && ($fsizebyte < 1073741824))
{
$fsize = round(($taille/1048576));
$fsize = $fsize." Mo";
}
echo "<tr>";
echo "<td nowrap bgcolor=\"#F5F5F5\">".$expediteur[0]->text."</td>";
echo "<td nowrap bgcolor=\"#F5F5F5\">".$sujet[0]->text."</td>";
echo "<td nowrap bgcolor=\"#F5F5F5\">".$date."</td>";
echo "<td nowrap bgcolor=\"#F5F5F5\">".$fsize."</td>";
echo "</tr>";
}
echo "</table>";
imap_close($mbox);
?>