IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Envoi de html par mail qui marche mal


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut Envoi de html par mail qui marche mal
    Bonsoir,

    quand, je rajoute un lien dans mon message, il n'est pas envoyé et le message s'arrête là : quel est le problème ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $to      ="---";
    $subject = "---";
    $msg = "code html... le site internet <a href="xxx">xxx</a>.<br>
    	 fin message";
    $headers = 'From: yyy <mail@ext>'."\r\n";
    $headers .= 'Mime-Version: 1.0'."\r\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1'."\r\n";
    $headers .= "\r\n";
    mail($to, $subject, $msg, $headers);
    Le message est envoyé jusqu'à "site internet", mais on n'a ni le lien, ni la fin du message.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu as un problème de guillemets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $msg = 'code html... le site internet <a href="xxx">xxx</a>.<br>
    	 fin message';
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    Non, désolé, mais ce n'est pas si simple ; j'avais été trop vite en rédigeant mon post ; voilà le message :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
         $message = "Bonjour, ".$corresident." ".$cnomprenom.', nous sommes heureux de vous inviter &agrave; d&eacute;couvrir le site internet <a href="http://www.xxx">http://www.xxx</a><br>
    	 Votre adresse nous a &eacute;t&eacute; communiqu&eacute;e par '.$vousident.' '.$vnomprenom." (".$vmail.")".
    	 " qui souhaite vous le faire découvrir";

  4. #4
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Par défaut
    on en revient à ce que sabotage a indiqué. Tu as un problème de guillemet ....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    href="http://www.xxx"
    il faut utiliser les ' ' pour délimité ton champs plutôt que les " "
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

  5. #5
    Membre Expert
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Par défaut
    Salut,

    Les guilemets sont bien encadrés par des apostrophes pourtant.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ', nous sommes... <a href="http...'
    C'est peut-être l'absence de l'en-tête MIME Content-Transfer-Encoding ?

    En fait, je n'ai jamais essayé sans, donc je ne peux pas garantir que ça vient de là.

    Ceci dit, si la chaine est trop longue, il est préférable de :
    1. l'encoder en MIME base64 avec la fonction base64_encode()
    2. la scinder avec la fonction chunk_split()

    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
    $to      ="---";
    $subject = "---";
    $msg = "code html... le site internet <a href="xxx">xxx</a>.<br>
    	 fin message";
     
    $msg =
    	'Bonjour, '.$corresident.' '.$cnomprenom.
    	', nous sommes heureux de vous inviter &agrave; d&eacute;couvrir le site internet <a href="http://www.xxx">http://www.xxx</a><br>Votre adresse nous a &eacute;t&eacute; communiqu&eacute;e par '.
    	$vousident.' '.$vnomprenom.' ('.$vmail.') qui souhaite vous le faire découvrir';
     
    $msg=chunk_split(base64_encode($msg));
     
    $headers = 'From: yyy <mail@ext>'."\r\n";
    $headers.= 'Mime-Version: 1.0'."\r\n";
    $headers.= 'Content-type: text/html; charset=iso-8859-1'."\r\n";
    $headers.= 'Content-Transfer-Encoding: base64'."\r\n\r\n";
     
    mail($to, $subject, $msg, $headers);

  6. #6
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    Je n'y comprends rien : maintenant, ça marche, et je n'ai pas fait grand-chose pour ça (Eric2A avait raison : les " étaient entourés par des '). Par contre, j'ai un autre problème qui n'a rien à voir avec le html dans le mail, mais qui est quand même lié à l'envoi de mail : si je mets dans mon header une ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $headers = 'From: Nom <mail@ext>'."\r\n\r\n";
    , le mail ne part plus. Le header complet est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $headers = 'From: Nom <mail@ext>'."\r\n\r\n";
    $headers = 'Mime-Version: 1.0'."\r\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1'."\r\n";
    $headers .= "\r\n";
    Quelle est la solution ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Envoi formulaire html par mail
    Par kck61 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 18/01/2011, 14h14
  2. Envoi d'un formulaire dynamique html par mail
    Par Kxking dans le forum ASP
    Réponses: 2
    Dernier message: 11/09/2009, 10h16
  3. envoi de formulaire par mail qui redirige vers servlet
    Par erox44 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 09/07/2009, 15h58
  4. Problème d'envoi de Formulaire HTML par mail (mailto)
    Par flash_begin dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 21/03/2007, 20h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo