Bonjour,

je veux modifier un ancien script de mail php dans un fichier de confirmation d'inscription pour un mail multipart. format texte et html.

mais j'éprouve des problèmes concernant mon lien d'activation dans le mail format html.

le lien n'est pas cliquable dans le mail en html et fonctionne bien en format texte.

je ne comprends pas pourquoi.

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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
 
 <?php
 if (!isset($_COOKIE['sent']))  {
 
 $cle= md5(microtime(TRUE)*100000);
 
		$email='info@monsite.com.com';
		$destinataire = htmlspecialchars($email);
 
			if (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#", $destinataire)) // On filtre les serveurs qui rencontrent des bogues.
			{
				$passage_ligne = "\r\n";
			}else{
				$passage_ligne = "\n";
			}
		//=====Déclaration des messages au format texte et au format HTML.
	$message_txt ="Bienvenue a monsite.com,
		
		Pour activer ton compte, clique sur le lien ci-dessous ou copier/coller le dans ton navigateur internet.
		Ensuite, tu pourra te connecter avec ton pseudo et ton mot de passe sur la page de connexion.
				
		------------------------------------------------------------
		
		http://monsite.com/activation.php?log=".urlencode($email)."&cle=".urlencode($cle)."		
		
		Ceci est un mail automatique, merci de ne pas y répondre.";
 
 
	$message_html="<html><head></head><body>
		
		<p><strong>Bienvenue a monsite.com,</strong></p>
		
		<p>Pour activer ton compte, clique sur le lien ci-dessous ou copier/coller le dans ton navigateur internet.</p>
		<p>Ensuite, tu pourra te connecter avec ton pseudo et ton mot de passe sur la page de connexion.</p>
				
		<p>------------------------------------------------------------</p>
		
		<p>http://monsite.com/activation.php?log=".urlencode($email)."&cle=".urlencode($cle)."</p>
  
		
		<p>Ceci est un mail automatique, merci de ne pas y répondre.</p>
		</body></html>";
 
		//=====Création de la boundary
			$boundary = "-----=".md5(rand());
		//==========
 
		//=====Définition du sujet.
			$sujet="Pour terminer ton inscription sur monsite.com";
		//=========
 
	/* En-têtes de l'e-mail */
 
			$header = "From: inscription@monsite.com".$passage_ligne;
			$header.= "MIME-Version: 1.0".$passage_ligne;
			$header.= "Content-Type: multipart/alternative;".$passage_ligne . " boundary=\"" .$boundary . "\"" .$passage_ligne;
 
		$msg = $passage_ligne . $boundary . $passage_ligne;
		// mail format texte
		$msg .= "Content-Type: text/plain; charset=\"utf-8\"".$passage_ligne;
		$msg .= "Content-Transfer-Encoding: quoted-printable" . $passage_ligne;
		$msg .= $passage_ligne . $message_txt . $passage_ligne;
		$msg .= $passage_ligne . "--" . $boundary . $passage_ligne;
		//mail format html
		$msg .= "Content-Type: text/html; charset=\"utf-8\"" . $passage_ligne;
		$msg .= "Content-Transfer-Encoding: quoted-printable" . $passage_ligne;
		$msg .= $passage_ligne . $message_html . $passage_ligne;
 
		$msg .= $passage_ligne . "--" . $boundary . "--" . $passage_ligne;
		$msg .= $passage_ligne . "--" . $boundary . "--" . $passage_ligne;
 
 
 
	/* Envoi de l'e-mail */
		mail($destinataire, $sujet, $msg, $header);
 
		setcookie("sent", "1", time() + 120);
		//header( "Location: confirm_inscription.php" );
		echo'email envoyer';
 
 }else {
			unset($_POST);
	}
 
	?>