Bonjour,
Je suis en train de coder un script qui devrait permettre de déplacer les messages dont l'entête du message contient X-Spam-status : Yes.
En local tout fonctionne parfaitement cependant en ligne j'ai une belle erreur :
Warning: imap_open() [function.imap-open]: Couldn't open stream {mail.xxx.net:143}INBOX in /home/etower/www/imap.class.php on line 26
connexion impossible : TLS/SSL failure for mail.e-tower.net: SSL negotiation failed
Dans la classe que j'utilise il y a bien une option qui permet de rajouter le /notls lors de la connexion au serveut et là du coup je n'ai plus l'erreur mais aucun message n'est déplacé :-\
Je vous donne la connexion et la procédure pour déplacer les messages :
<?php
function open($username, $password, $host, $port, $notls = 0) {
if($notls>0)$notls_str="/notls";
$i = imap_open("{" . $host . ":" . $port . $notls_str . "}INBOX", $username, $password) or die("connexion impossible : " . imap_last_error());
if(!$i) return false;
$this->imapstr = $i;
$this->user = $username;
$this->pass = $password;
$this->host = $host;
$this->port = $port;
return true;
}
//-----------------------------------------------------------------
function moveSpamNewMessages(){
$status = imap_status($this->imapstr, "{".$this->host."}INBOX", SA_ALL);
if($status) {
$nb=0;
for($i=1;$i<=$status->messages;$i++){
$infos = imap_headerinfo($this->imapstr,$i);
if($infos->Unseen == 'U' || $infos->Recent == 'N'){
if(strpos(imap_fetchheader($this->imapstr,$i),"X-Spam-Status: Yes")) {
$this->mvmail($i, "{".$this->host."}INBOX.Junk");
$nb++;
}
}
}
}
return $nb;
}
?>
J'ai au beau regarder la doc php je ne vois pas quel pourrait être le problème, si quelqu'un peut m'aider :)
Merci d'avance