Envoi mail php (contient du html)

Résolu/Fermé
DoulyCreations Messages postés 187 Date d'inscription lundi 11 avril 2011 Statut Membre Dernière intervention 23 mars 2015 - Modifié par DoulyCreations le 18/04/2011 à 17:26
DoulyCreations Messages postés 187 Date d'inscription lundi 11 avril 2011 Statut Membre Dernière intervention 23 mars 2015 - 19 avril 2011 à 13:39
Bonjour,

J'ai un léger problème, j'utilise une fonction qui envoi des email contenant de l'html. Cette fonction a toujours très bien marché jusqu'ici.
J'ai une page php qui appelle cette fonction lorsqu'un membre fait une demande de réinitialisation de mot de passe.

Un mail m'est adressé, celui ci je le reçoit toujours à 100%.
Un autre mail est adressé à celui qui a fait la demande de réinitialisation de mot de passe, celui ci est reçu environ 1 fois sur 5, avec la même fonction.

Cela fait plusieurs jours que je suis dessus...

Voici le code de la fonction:
function sendhtmlrobot($email,$sujet,$html) //Fonction pour envoyer un mail 
{ 
  global $site_nom; 
  global $site_url; 
  global $site_email; 
   
  $boundary = "-----=" . md5( uniqid ( rand() ) ); 
  $headers .= "From: ".'Bidule'." <ne-pas-repondre@bidule.fr>\n";  
  $headers .= "MIME-Version: 1.0\n"; 
  $headers .= "Content-Type: multipart/alternative; boundary=".$boundary."";  
   
  $destinataire = $email;  
  $subject = stripslashes($sujet); 
  $message_html  = stripslashes($html); 
   
   
  $message  = "This is a multi-part message in MIME format.\n\n";  
  $message .= "--" . $boundary . "\n";  
  $message .= "Content-Type: text/html; charset=\"utf-8\"\n";  
  $message .= "Content-Transfer-Encoding: quoted-printable\n\n";  
  $message .= str_replace("=","=3D",$message_html);  
  $message .= "\n\n";  
  $message .= "--" . $boundary . "--\n";  
   
  mail($destinataire, $subject, $message, $headers); 
 }


Voici ensuite les codes d'envoi de mail:
$nom_page_php = "truc"; 

//1er mail : 
sendhtmlrobot('bidule@bidule.fr','Demande mdp','Un membre vient de demander son mdp<br />Mail: '.htmlentities($_POST['email_oubli'],ENT_QUOTES,'UTF-8')); 

//2eme mail : 
   $lien_oubli_pass = 'http://www.bidule.fr/'.$nom_page_php.'.php?reinitialise='.htmlentities($_POST['email_oubli'],ENT_QUOTES,'UTF-8'); 
   $message_email = 'Vous venez de faire une demande pour réinitialiser votre Mot de passe.<br /><br />Afin de finaliser votre demande vous devez entrer votre nouveau mot de passe via le lien suivant :<br />'.$lien_oubli_pass; 
    
   sendhtmlrobot($_POST['email_oubli'],'Oubli mot de passe',$message_email); 
  }





Quand on veut on peut ! Ou pas ...
A voir également:

5 réponses

DoulyCreations Messages postés 187 Date d'inscription lundi 11 avril 2011 Statut Membre Dernière intervention 23 mars 2015 19
18 avril 2011 à 21:58
up :)
0
creadiff Messages postés 445 Date d'inscription samedi 3 avril 2010 Statut Membre Dernière intervention 3 novembre 2011 57
Modifié par creadiff le 18/04/2011 à 23:46
La fonction mail() de PHP est très limitée...

Essaie avec cette classe d'envois de mails en PHP !

Ça permet de d'identifier avec un compte mail que tu possèdes déjà.
0
DoulyCreations Messages postés 187 Date d'inscription lundi 11 avril 2011 Statut Membre Dernière intervention 23 mars 2015 19
19 avril 2011 à 08:13
Merci, le mail pourra contenir sans problème de l'html ?
Il sera envoyé à coup sur à 100% ?

Sinon comment ça se fait que j'avais un tel problème ? C'était pas juste un problème de caractère dans le mail ou quelque chose du genre qui a du mal à passer ?
0
creadiff Messages postés 445 Date d'inscription samedi 3 avril 2010 Statut Membre Dernière intervention 3 novembre 2011 57
19 avril 2011 à 09:36
- Oui

- Oui, si tu fournis les bons identifiants pour ta messagerie, que ton firewall laisse passer le SMTP et qu'il ne s'agit pas d'envoyer 10000 mails / heure

- La fonction mail n'est pas très adaptée à un usage "pro"... il est déjà rare qu'elle envoie des mails ;-)
0

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

Posez votre question
DoulyCreations Messages postés 187 Date d'inscription lundi 11 avril 2011 Statut Membre Dernière intervention 23 mars 2015 19
19 avril 2011 à 13:39
Merci bien donc :) C'est très bon à savoir. J'installe le nouveau système de mail dès ce soir.
0