Envoi mail php (contient du html)

Résolu
DoulyCreations Messages postés 187 Date d'inscription   Statut Membre Dernière intervention   -  
DoulyCreations Messages postés 187 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   19
 
up :)
0
creadiff Messages postés 445 Date d'inscription   Statut Membre Dernière intervention   57
 
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   Statut Membre Dernière intervention   19
 
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   Statut Membre Dernière intervention   57
 
- 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   Statut Membre Dernière intervention   19
 
Merci bien donc :) C'est très bon à savoir. J'installe le nouveau système de mail dès ce soir.
0