SMTP et les copies cachées

Signaler
Messages postés
954
Date d'inscription
mardi 11 mai 2004
Statut
Membre
Dernière intervention
11 novembre 2008
-
Messages postés
954
Date d'inscription
mardi 11 mai 2004
Statut
Membre
Dernière intervention
11 novembre 2008
-
Salut,
je suis entrain de faire un code pour envoyer des mails avec un serveur smtp.
Jusque là aucun problème ;-)

Mais bug quand j' ai voulu utiliser la copie cachée ( Bcc ), il n' envoie pas de mail aux adresses en bcc !! :@

Donc voilà  le code :
<?php
function get_smtp_data($smtp_connection){
    $data = '';
    while($donnees = fgets($smtp_connection, 515)){// On parcour les données renvoyées
        $data .= $donnees;
        if(substr($donnees,3,1) === ' '){break;}// On vérifi si on a toutes les données
    }

    // Renvoie des données : array(Code, message complet)
    return array('code'=>(int)substr($data, 0, 3), 'msg'=>str_replace("\r\n", '
'."\r\n", $data));
}
   
$handle = fsockopen('smtp.********.fr', 25);
if($handle){
    echo 'Accueil
',"\r\n";
    $rpt = get_smtp_data($handle);echo $rpt['msg'],'
';//220

    echo 'Commande: EHLO ipc
',"\r\n";
    fputs($handle, "EHLO ipc\r\n");
    $rpt = get_smtp_data($handle);echo $rpt['msg'],'
';//250

    echo 'Commande: MAIL FROM:
',"\r\n";
    fputs($handle, "MAIL FROM: \r\n");
    $rpt = get_smtp_data($handle);echo $rpt['msg'],'
';//250

    echo 'Commande: RCPT TO:
',"\r\n";
    fputs($handle, "RCPT TO: \r\n");
    $rpt = get_smtp_data($handle);echo $rpt['msg'],'
';//250

    echo 'Commande: DATA
',"\r\n";
    fputs($handle, "DATA\r\n");
    $rpt = get_smtp_data($handle);echo $rpt['msg'],'
';//354

    echo 'Commande: entête et msg
',"\r\n";
    fputs($handle, "From: ipc \r\n"
    // Là le serveur ne prend pas compte de la copie cachée :@
    ."Bcc: Adressecachee@toto.com\r\n"
    ."Subject: test\r\n"
    ."Date: ".date('D M j G:i:s T Y')."\r\n"
    ."Mime-Version: 1.0\r\n"
    ."Content-Type: text/txt ; charset="iso-8859-1"\r\n"
    ."Content-Transfer-Encoding: 7bit\r\n\r\n"
    ."Message 1"
    ."\r\n.\r\n");
    $rpt = get_smtp_data($handle);echo $rpt['msg'],'
';//250

    echo 'Commande: QUIT
',"\r\n";
    fputs($handle, "QUIT\r\n");
    $rpt = get_smtp_data($handle);echo $rpt['msg'],'
';//221

    sleep(5);
    fclose($handle);
}else{
    echo 'Echec d&#39; envoi du message!';
}
?>

@+

Immortal-PC,
téléchargements,astuces ,entre-aide informatique , conseils pour vos problèmes d'ordi. 
<!--StartFragment -->Grâce à Immortal-PC votre ordinateur passera les âges.

2 réponses

Messages postés
138
Date d'inscription
vendredi 28 février 2003
Statut
Membre
Dernière intervention
29 février 2008

Salut,

Voici une fonction mail sympa :

/*Fonction mail() redéfinie*/
    function email($to, $subject, $message, $cc='', $bcc='', $format_html=true)
    {
     /*Pour envoyer un mail HTML, l'en-tête Content-type doit être défini*/
     if ($format_html)
     {
         $headers  = 'MIME-Version: 1.0' . "\r\n";
         $headers .= 'Content-type: text/html; charset=iso-8859-15' . "\r\n";
     }
    
     /*En-têtes additionnels*/    
     $headers .= 'From: '.NOM_SITE.' <'.EMAIL_SITE.'>' . "\r\n";        
     $headers .= "Cc: $cc\r\n";
     $headers .= "Bcc: $bcc\r\n";

     /*Envoi*/
     mail($to, $subject, $message, $headers);
    }
Messages postés
954
Date d'inscription
mardi 11 mai 2004
Statut
Membre
Dernière intervention
11 novembre 2008
2
Salut,
merci de ta réponce mais ce n' est pas ce que je cherche ...
Tu utilises la fonction mail() avec des entêtes or moi je cherche a envoyer des mails en Copies Cachées avec un serveur smtp !

Donc là ton code n' est pas viable pour ce que je cherche :S
Merci quand même ;-)

 @+

Immortal-PC,
téléchargements,astuces ,entre-aide informatique , conseils pour vos problèmes d'ordi. 
<!--StartFragment -->Grâce à Immortal-PC votre ordinateur passera les âges.