[PhP] # de mail envoier != # de mail reçu

P@ Messages postés 1710 Statut Membre -  
P@ Messages postés 1710 Statut Membre -
Bonjour à tous,

J'ai fait une application pour envoyer des mails "grouper".
J'écris un mail, et l'appli l'envoie à x personnes.
à plusieurs étapes du procédé, j'écrit des log (.xls) pour savoir à qui et combien de mail il envoie.

à toutes les étapes, les logs me donnent le bon nobre de mail hors j'en reçoit plus et de façon aléatoire.

J'utilise MAIL_QUEUE de PEAR pour envoyer mes mails de façon groupé.

Comment cela est il possible, comment savoir si le pb vient de mon application ou des boites mails qui "dupliquerez" certains mails ...
Je ne sais plus quoi faire comme controle ou autre pour avancer dans le debuggage

merci d'avance pour votre aide

P.S.: Mon appli est en PhP/MySQL en local sur Xampp
A voir également:

5 réponses

Utilisateur anonyme
 
Hello,
Es tu sur de ne pas recevoir des mails provenant de tes précedants essais ?
Sinon, à part modifier le source de la lib pour y inclure des logs...
0
P@ Messages postés 1710 Statut Membre 185
 
en fait, je change le sujet du mail pour ne pas les confondre ... car effectivement je m'y perderais sans quoi.

Je suis entrain de mettre des logs un peu partout dans les calls de PEAR aussi ...
Pour l'instant, je n'ai toujours pas de pistes suite au log.
J'attend les résultats d'un test ...
Le problème, c'est que si je trouve une erreur dedans, je ne sais pas comment la corriger.
Je n'ai jamais touché à une class :C
0
Utilisateur anonyme
 
Tu utilises quel serveur SMTP ?
0
P@ Messages postés 1710 Statut Membre 185
 
wanadoo
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
P@ Messages postés 1710 Statut Membre 185
 
j'ai enfin les résultats à mon dernier test ...
au lieu de 209 mail, j'en ai 326 !!!
Et dans les log, il y en a bien 209.
Comment puis je m'assurer que le souci vien bien de mon application
mon dernier log se trouve sur juste avant l'envoie et aprés comme suit

    function sendMailsInQueue($limit = MAILQUEUE_ALL, $offset = MAILQUEUE_START,
                              $try = MAILQUEUE_TRY)
    {
        $this->container->setOption($limit, $offset, $try);
        while ($mail = $this->get()) {
            $this->container->countSend($mail);
print_r($mail);
            $result = $this->sendMail($mail);
echo "<B>Resultat :></B>";
print_r($result);
echo "<BR>";

            if (!PEAR::isError($result)) {
                $this->container->setAsSent($mail);
                if($mail->isDeleteAfterSend()) {
                    $this->deleteMail($mail->getId());
                }
            } else {
                PEAR::raiseError(
                    'Error in sending mail: '.$result->getMessage(),
                    MAILQUEUE_ERROR_CANNOT_SEND_MAIL, PEAR_ERROR_TRIGGER,
                    E_USER_NOTICE);
            }
        }
        return true;
    }


qui se trouve dans Queue.php du package Mail_Queue de PEAR https://pear.php.net/package/Mail_Queue

si vous avez une idée, je suis ouverte à toutes suggestion et information
0