Envoit d'e-mail vide avec php
Résolu/Fermé
A voir également:
- Envoit d'e-mail vide avec php
- Yahoo mail - Accueil - Mail
- E avec accent - Guide
- Publipostage mail - Accueil - Word
- Supprimer page word vide - Guide
- Mail delivery system - Forum Réseaux sociaux
2 réponses
Atropa
Messages postés
1940
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
11 mai 2014
274
9 juin 2009 à 04:04
9 juin 2009 à 04:04
bonjour,
tu ferme la boundary au lieu de l'ouvrir avant le message
pour Content-Transfer-Encoding met plutôt quoted-printable et tu ecris le mot de passe après la fermeture du message !
as tu vraiment compris le principe des boundary?
voilà ton code il devrait marcher, je ne l'ai pas testé...
pour la boundary pour un mail sans pièce jointe; tu la déclare dans le header
ensuite à la fin du header et avant la déclaration de message tu en ouvre une en mettant -- suivie de la boundary
et tu ouvres pour chaques séparations que tu as a faire
tu ne ferme qu'a la fin pour indiqué la fin de message
--boundary //ouverture
declaration message texte
message texte
--boundary //ouverture
déclaration message html
message html
--boundary-- //fermeture
tu ferme la boundary au lieu de l'ouvrir avant le message
pour Content-Transfer-Encoding met plutôt quoted-printable et tu ecris le mot de passe après la fermeture du message !
as tu vraiment compris le principe des boundary?
<?php $email_expediteur='mon.adresse@email.com'; $email_reply='mon.adresse@email.com'; $message_texte='Bonjour,'."\n\n".'Voici votre mot de passe demandé'; $message_html='<html> <head> <title>Titre</title> </head> <body>Mot de passe oublié '.$mdp.'</body> </html>'; //----------------------------------------------- //GENERE LA FRONTIERE DU MAIL ENTRE TEXTE ET HTML //----------------------------------------------- $frontiere = '-----=' . md5(uniqid(mt_rand())); //----------------------------------------------- //HEADERS DU MAIL //----------------------------------------------- $headers = 'From: "Admin" <'.$email_expediteur.'>'."\n"; $headers .= 'Return-Path: <'.$email_reply.'>'."\n"; $headers .= 'MIME-Version: 1.0'."\n"; $headers .= 'Content-Type: multipart/alternative; boundary="'.$frontiere.'"'; //----------------------------------------------- //MESSAGE TEXTE //----------------------------------------------- $message .= '--'.$frontiere.'\n'; $message .= 'Content-Type: text/plain; charset="iso-8859-1"'."\n"; $message .= 'Content-Transfer-Encoding: quoted-printable'."\n\n"; $message .= $message_texte."\n\n" . $mdp; //----------------------------------------------- //MESSAGE HTML //----------------------------------------------- $message .= '--'.$frontiere.'\n"'; $message .= 'Content-Type: text/html; charset="iso-8859-1"'."\n"; $message .= 'Content-Transfer-Encoding: quoted-printable'."\n\n"; $message .= $message_html."\n\n"; $message .= '--'.$frontiere.'--'."\n"; $sujet = 'Votre mot de passe est : ' . $mdp; if(mail($email_destinataire, $sujet, $message, $headers)) echo 'Le courriel a été envoyé avec votre mot de passe '; else echo 'Le courriel n\'a pu être envoyé, veuillez réessayer plus tard.'; ?>
voilà ton code il devrait marcher, je ne l'ai pas testé...
pour la boundary pour un mail sans pièce jointe; tu la déclare dans le header
ensuite à la fin du header et avant la déclaration de message tu en ouvre une en mettant -- suivie de la boundary
et tu ouvres pour chaques séparations que tu as a faire
tu ne ferme qu'a la fin pour indiqué la fin de message
--boundary //ouverture
declaration message texte
message texte
--boundary //ouverture
déclaration message html
message html
--boundary-- //fermeture