ovhachement
28/02/2005, 10h07
Bonjour,
le script suivant trouvé sur nexen.net fonctionne chez OVH mais je n'arrive pas à exploiter les infos retournées dans le tableau.
<?
function infosmails($server,$user,$passwd,$port=110){
/* Paramètres */
$server = "ns0.ovh.net";
$user = "mon.email@mon.com" ;
$passwd = "monpass" ;
/* Paramètre optionnel
$port : port de connexion au serveur
*/
// $connect = "{".$server."/pop3:$port"."}INBOX";
$connect = "{ns0.ovh.net/imap/notls:143}INBOX"; // VERSION FOURNIE PAR OVH
if ($mbox = imap_open($connect,$user,$passwd, OP_READONLY))
{
$nb_msg = imap_num_msg($mbox);
$nb_rec = imap_num_recent($mbox);
$retour = array();
$retour[0]['nb msgs'] = $nb_msg;
$retour[0]['nb recents'] = $nb_rec;
for ($i = 1;$i <= $nb_msg;$i++)
{
$o = imap_headerinfo($mbox,$i);
if ($o->Unseen == 'U' || $o->Recent == 'N')
{
if ($o->Unseen == 'U')
$retour[$i]['status'] = 'unseen';
else
$retour[$i]['status'] = 'recent';
$content = $o->to;
$retour[$i]['to'] = '';
foreach($content as $addr)
$retour[$i]['to'] .= $addr->personal.' ('.$addr->mailbox.'@'.$addr->host.'),';
$retour[$i]['to'] = substr($retour[$i]['to'],0,-1);
$content = $o->from;
foreach($content as $addr)
$retour[$i]['from'] = $addr->personal.' ('.$addr->mailbox.'@'.$addr->host.'),';
$retour[$i]['from'] = substr($retour[$i]['from'],0,-1);
if ($o->ccaddress == '')
$retour[$i]['cc'] = $o->ccaddress;
else
{
$content = $o->cc;
$retour[$i]['cc'] = '';
foreach($content as $addr)
$retour[$i]['cc'] .= $addr->personal.' ('.$addr->mailbox.'@'.$addr->host.'),';
$retour[$i]['cc'] = substr($retour[$i]['cc'],0,-1);
}
if ($o->bccaddress == '')
$retour[$i]['bcc'] = $o->bccaddress;
else
{
$content = $o->bcc;
$retour[$i]['bcc'] = '';
foreach($content as $addr)
$retour[$i]['bcc'] .= $addr->personal.' ('.$addr->mailbox.'@'.$addr->host.'),';
$retour[$i]['bcc'] = substr($retour[$i]['bcc'],0,-1);
}
$retour[$i]['subject'] = $o->subject;
$retour[$i]['date'] = $o->date;
}
}
imap_close($mbox);
return $retour;
}
else
return imap_last_error();
}
$mes_courriers = infosmails($server,$user,$passwd,$port=110) ; // port = 110 EST-IL UTILE ?
print "mes courriers : " . $mes_courriers; // RETOURNE UN TABLEAU ARRAY MAIS COMMENT INTERPRETER CE QU IL Y A DEDANS ???
?>
Si vous avez des idées, cela me rendra service.
le script suivant trouvé sur nexen.net fonctionne chez OVH mais je n'arrive pas à exploiter les infos retournées dans le tableau.
<?
function infosmails($server,$user,$passwd,$port=110){
/* Paramètres */
$server = "ns0.ovh.net";
$user = "mon.email@mon.com" ;
$passwd = "monpass" ;
/* Paramètre optionnel
$port : port de connexion au serveur
*/
// $connect = "{".$server."/pop3:$port"."}INBOX";
$connect = "{ns0.ovh.net/imap/notls:143}INBOX"; // VERSION FOURNIE PAR OVH
if ($mbox = imap_open($connect,$user,$passwd, OP_READONLY))
{
$nb_msg = imap_num_msg($mbox);
$nb_rec = imap_num_recent($mbox);
$retour = array();
$retour[0]['nb msgs'] = $nb_msg;
$retour[0]['nb recents'] = $nb_rec;
for ($i = 1;$i <= $nb_msg;$i++)
{
$o = imap_headerinfo($mbox,$i);
if ($o->Unseen == 'U' || $o->Recent == 'N')
{
if ($o->Unseen == 'U')
$retour[$i]['status'] = 'unseen';
else
$retour[$i]['status'] = 'recent';
$content = $o->to;
$retour[$i]['to'] = '';
foreach($content as $addr)
$retour[$i]['to'] .= $addr->personal.' ('.$addr->mailbox.'@'.$addr->host.'),';
$retour[$i]['to'] = substr($retour[$i]['to'],0,-1);
$content = $o->from;
foreach($content as $addr)
$retour[$i]['from'] = $addr->personal.' ('.$addr->mailbox.'@'.$addr->host.'),';
$retour[$i]['from'] = substr($retour[$i]['from'],0,-1);
if ($o->ccaddress == '')
$retour[$i]['cc'] = $o->ccaddress;
else
{
$content = $o->cc;
$retour[$i]['cc'] = '';
foreach($content as $addr)
$retour[$i]['cc'] .= $addr->personal.' ('.$addr->mailbox.'@'.$addr->host.'),';
$retour[$i]['cc'] = substr($retour[$i]['cc'],0,-1);
}
if ($o->bccaddress == '')
$retour[$i]['bcc'] = $o->bccaddress;
else
{
$content = $o->bcc;
$retour[$i]['bcc'] = '';
foreach($content as $addr)
$retour[$i]['bcc'] .= $addr->personal.' ('.$addr->mailbox.'@'.$addr->host.'),';
$retour[$i]['bcc'] = substr($retour[$i]['bcc'],0,-1);
}
$retour[$i]['subject'] = $o->subject;
$retour[$i]['date'] = $o->date;
}
}
imap_close($mbox);
return $retour;
}
else
return imap_last_error();
}
$mes_courriers = infosmails($server,$user,$passwd,$port=110) ; // port = 110 EST-IL UTILE ?
print "mes courriers : " . $mes_courriers; // RETOURNE UN TABLEAU ARRAY MAIS COMMENT INTERPRETER CE QU IL Y A DEDANS ???
?>
Si vous avez des idées, cela me rendra service.