Bonjour,

je cherche a envoyer des mails d'information pour des validations de conge etc.... dans une appli en PHP. Pour cela j'utilise le code suivant :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<?php<br>                $port=25;
        ini_set('smtp_port',$port);    
        $mail = 'xxxxxxxxxx@xxxx.com<script type="text/javascript">
/* <![CDATA[ */
(function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
/* ]]> */
</script>'; // Déclaration de l'adresse de destination.
        if (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#", $mail)) // On filtre les serveurs qui rencontrent des bogues.
        {
            $passage_ligne = "\r\n";
        }
        else
        {
            $passage_ligne = "\n";
        }
        //=====Déclaration des messages au format texte et au format HTML.
        $message_txt = "Salut à tous, voici un e-mail envoyé par un script PHP.";
        $message_html = '<html><head></head><body><b>Salut à tous</b>, voici un e-mail envoyé par un <i>script PHP</i>.'.$port.'</body></html>';
        //==========
 
        //=====Création de la boundary
        $boundary = "-----=".md5(rand());
        //==========
 
        //=====Définition du sujet.
        $sujet = 'Hey mon ami';
        //=========
 
        //=====Création du header de l'e-mail.
        $header = "From: \"Gestion Conge VFSC\"<xxxxxxxx@xxxxxxxx.com<script type="text/javascript">
/* <![CDATA[ */
(function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
/* ]]> */
</script>>".$passage_ligne;
        $header.= "Reply-to: \"xxxxxxx\" <xxxxxx@xxxxxx.com<script type="text/javascript">
/* <![CDATA[ */
(function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
/* ]]> */
</script>>".$passage_ligne;
        $header.= "MIME-Version: 1.0".$passage_ligne;
        $header.= "Content-Type: multipart/alternative;".$passage_ligne." boundary=\"$boundary\"".$passage_ligne;
        //==========
 
        //=====Création du message.
        $message = $passage_ligne."--".$boundary.$passage_ligne;
        //=====Ajout du message au format texte.
        $message.= "Content-Type: text/plain; charset=\"ISO-8859-1\"".$passage_ligne;
        $message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
        $message.= $passage_ligne.$message_txt.$passage_ligne;
        //==========
        $message.= $passage_ligne."--".$boundary.$passage_ligne;
        //=====Ajout du message au format HTML
        //$message.= "Content-Type: text/html; charset=\"ISO-8859-1\"".$passage_ligne;
        //$message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
        //$message.= $passage_ligne.$message_html.$passage_ligne;
        //==========
        $message.= $passage_ligne."--".$boundary."--".$passage_ligne;
        $message.= $passage_ligne."--".$boundary."--".$passage_ligne;
        //==========
        set_time_limit(0);
        //=====Envoi de l'e-mail.
        mail($mail,$sujet,$message,$header);
Lorsque je lance cela en local ( sur mon portable relié au reseau de l'entreprise ) il n'y a aucun probleme : envoir immediat, bien recu par les destinataires.

Lorsque je bascule sur un PC qui fait office de serveur, l'envoi du mail met environ 1 min a etre réalisé et durant cette minute ma page reste en chargement ( donc tres penalisant pour l'utilisateur ).

J'utilise : WampServer Version 2.2

Mon portable est en Windows vista 32bit et le serveur en Windows 7 64 bits.

avez vous une idée ?

sachant que j'ai essayé d'utiliser PHPmailer qui fonctionne tres bien sur mon portable mais me remonte un defaut authentification sur le serveur.

Merci