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 :

lien internet n'apparait pas comme un lien dans certains mails reçus par les adhérents


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    496
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 496
    Points : 123
    Points
    123
    Par défaut lien internet n'apparait pas comme un lien dans certains mails reçus par les adhérents
    bonjour

    j'envoi des mails aux adhérents avec PHP mailer.
    dans ce mail il y a un lien internet à cliquer pour confirmer l'adresse mail.

    en général ça fonctionne correctement mais certain adhérent reçoive le mail mais le lien n'est pas cliquable , il apparait qu'au format texte

  2. #2
    Membre émérite
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 757
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 757
    Points : 2 992
    Points
    2 992
    Par défaut
    Bonjour

    Je dirais à vue de nez que le mail envoyé n'est pas au format html ou serait non valide. Assure-toi que ce que tu envoies est bien html, pas txt.
    Christophe (cavo789)
    Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be

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

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 386
    Points : 5 733
    Points
    5 733
    Billets dans le blog
    1
    Par défaut
    Bonsoir,

    on y verrait plus clair avec le code d'envoi de ce mail...
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  4. #4
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 453
    Points : 43 115
    Points
    43 115
    Par défaut
    Certains logiciels de messagerie ou webmail rendent les URL non cliquable par mesure de sécurité, surtout si c'est des liens externes au domaine émetteur.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  5. #5
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    496
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 496
    Points : 123
    Points
    123
    Par défaut
    Bonjour

    merci pour votre intérêt.

    2 fonctions :
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    	function confirm_mail($civilite,$nom,$prenom,$date_naissance,$mail,$key_confirm)
    	{
    		//adresse de l'URL qui va recevoir la confirmation de mail
    		$site=SITE ;   //"https://www.gymnatureforme.fr/repertoire/"
    		$civilite=$civilite=="F"?"Madame":"Monsieur";
    		$genre = $civilite=="Madame"?"e":"";
    		$adresse = $site . 'index_gestion_pdo.php?nom=' . urlencode($nom) . '&key_confirm=' . $key_confirm ;
    		$message_mail='
    						'.$civilite.' '.$prenom.' '.$nom.' né'.$genre.' le '.$date_naissance.'. Vous êtes inscrit'.$genre.' dans la base de données de GNF <br/>
    						Pour finaliser votre inscription vous devez cliquer sur le lien suivant: 
    						<a href=' .$adresse  .'>confirmation d\'email</a>						
    		';
     
    		// j'avais  à la place de href mis ceci :    ' . $site . 'index_gestion_pdo.php?nom=' . urlencode($nom) . '&key_confirm=' . $key_confirm .'
    //j'ai remplacé maintenant par href mais je n'ai pas pu vérifier auprès des adhérents
     
    		$addBCC = CONTACT ;//le message sera envoyé en copie à CONTACT
     
    		$subject =  "Confirmation de compte" ;
    		$mail_envoye =  phpmailer($mail, $subject, $message_mail, $addBCC);
     
    		return $mail_envoye ;
    	}
     
    //fonction permettant d'envoyer des mails: renvoie vrai si mail est bien envoyé
    	function phpmailer($to, $sujet, $message_mail, $addBCC = "")
    	{
    		//la variable $addBCC est optionnelle, elle est défiine par défaut à vide
    		$mail = new PHPMailer();
    		$mail->IsSMTP();
    		$mail->Host = HOST; //Adresse IP ou DNS du serveur SMTP 
    		$mail->Port = PORT; //Port TCP du serveur SMTP
    		$mail->SMTPAuth = true ; //Utiliser l'identification
    		$mail->SMTPDebug = -2;// affiche les message d'erreur : 0 = Off (Producton) - 1 = Messages client - 2 = Messages client et serveur
     
    		if($mail->SMTPAuth){
    		   $mail->SMTPSecure = 'tls' ; // 'ssl'; //Protocole de sécurisation des échanges avec le SMTP
    		   $mail->Username =USERNAME; //'contact@gymnatureforme.fr'; //Adresse email à utiliser sur le serveur smtp
    		   $mail->Password =PASSMAIL; // mot de passe spécifique d'application pour éviter la double vérification de gmail
    		}
     
    		$mail->CharSet = 'UTF-8'; //Format d'encodage à utiliser pour les caractères
    		$mail->From = FROM ; // 'contact@gymnatureforme.fr';  //L'email à afficher pour l'envoi
    		$mail->FromName = FROMNAME;  //'GYM NATURE FORME';             //L'alias à afficher pour l'envoi
     
    		$mail->addAddress($to); 		// adresse du destinataire nom est optionel
    		$mail->Subject = $sujet;  //Le sujet du mail
    		$mail->WordWrap = 50; 	 //Nombre de caracteres pour le retour a la ligne automatique
    		$mail->IsHTML(true);        //Préciser qu'il faut utiliser le html_entity_decode
    		$mail->Body = $message_mail; //'This is the HTML message body <b>in bold!</b>';
    		$mail-> addBCC($addBCC); //('gnf5200@gmail.com','Président'); // adresse du message en copie (nom en option)
     
    		if (!$mail->send()) { 
    			  $mail->ErrorInfo;
    			  $retour = False ; 
    		} else{
    			  $retour = TRUE ; // 'Message bien envoyé';
    		}
    	return $retour;
    	}
    je pense bien qu'il s'agisse d'un problème de logiciel de messagerie ou de navigateur

  6. #6
    Membre émérite
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 757
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 757
    Points : 2 992
    Points
    2 992
    Par défaut
    Bonjour

    En ligne 8 tu nous montres le texte que tu envoies et ce n'est pas du html valide. N'aurais-tu pas oublié les en-têtes <html ><body><p>... Ton texte... </p></body></html>?

    Je ne dis pas que c'est la source de ton problème mais que, oui, tu envoies un mail non valide puisque n'étant pas correctement écrit. Et c'est peut-être ma source...

    Bonne journée
    Christophe (cavo789)
    Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    721
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 721
    Points : 1 876
    Points
    1 876
    Par défaut
    Effectivement, il faudrait regarder le code source du message tel qu'il apparaît dans la boîte de messagerie. Si le mail est malformé, certains clients auront des difficultés d'affichage.
    Je recommanderais par ailleurs de générer le mail dans deux formats: HTML et plain text. Comme vous utilisez phpmailer, il y a tout ce qu'il faut pour prendre en charge les messages "multipart".

    Je conseillerais aussi d'utiliser des templates sous forme de fichiers externes, par exemple avec Twig.

    Ce serait plus simple et plus lisible (pas besoin de faire des concaténations de texte, des urlencode et autres).
    L'avantage est qu'on peut éditer les templates sans toucher au code => moins de risque de casser quelque chose et moins de risque de créer du HTML invalide.

    C'est une bonne pratique de séparer les données de la logique.

  8. #8
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    496
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 496
    Points : 123
    Points
    123
    Par défaut
    Bonsoir

    Je ne suis pas programmateur et j'ai repris des exemples avec PHP mailer je n'as vu qu'il déclarer les balises html.
    je pensais que la simple déclaration de $mail->IsHTML(true); était suffisant.

  9. #9
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    Je ne suis pas programmateur
    Nous non plus ne recyclons pas les machines à laver ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

Discussions similaires

  1. [SP2010] créer un lien dans un mail généré par workflow
    Par rigol'man dans le forum Développement Sharepoint
    Réponses: 1
    Dernier message: 27/02/2014, 15h04
  2. [XI R2] Pas de pièce jointe dans des mails envoyés par BO
    Par rfr14 dans le forum Administration-Migration
    Réponses: 1
    Dernier message: 02/02/2009, 14h58
  3. Mail bloqués comme Spam car lien dans le mail
    Par OlynK dans le forum Free
    Réponses: 1
    Dernier message: 19/01/2009, 09h53
  4. Réponses: 3
    Dernier message: 19/02/2007, 23h35
  5. Réponses: 1
    Dernier message: 14/11/2005, 22h38

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