Comment mettre un lien dans le corp d'un mail

snap
Invité n'ayant pas de compte PHPfrance

08 juin 2005, 15:39

Bonjour
Comment mettre un lien dans le corp du mail et comment sauter plusieurs lignes si le message que l'on a à mettre est long.

J'ai essayer sa :
$coordonnees = " Nom : $nom Prenom = $prenom <br> Pour visualiser son fichier<a href= ../web/testweb/fichierrecu/$nomDestination>Cliquer ici</a> " ;
$destinataire = "[email protected]";
$sujet = "depot de dossier";
mail($destinataire, $sujet, $coordonnees) ;

Mais quand je recoi le mail , dans le cors du mail j'ai carement sa;
Pour visualiser son fichier<a href= ../web/testweb/fichierrecu/$nomDestination>Cliquer ici</a>
Au lieu d'avoire un lien :roll:

MERCI

Eléphanteau du PHP | 25 Messages

08 juin 2005, 15:49

il faut lui preciser que le corps de ton message est du HTML en utilisant le header

attention cela peut provoquer de beau bugs ...

$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

mail($mail, $subject, $data, $headers);


snap
Invité n'ayant pas de compte PHPfrance

08 juin 2005, 17:24

bonjour

Mon probleme est dés que je reçois un mail , il y a bien le tableau avec l'intitulé des colonne mais a la place d'avoir le nom , prenom , ...... j'ai carrement $nom $prenom $ ........

Je ne sais pas d'où vient le probleme , car je n'est aucun message d'erreur

Merci j'espere que c'est assez comprehensible ce que j'ai ecris
Voici mon code

Code:
<?php

// traitement des variables : Methode POST !
$nom = $_POST['nom'];
$prenom= $_POST['prenom'];
$code = $_POST['code'];
$ville = $_POST['ville'];


//Pour savoir si le fichier a été uploadé, on vérifie que le fichier est bien dans le tableau des fichiers
if (!empty($_FILES['fich']['size']))
{
//On récupère la taille, le nom et le nom du fichier temporaire
$f1_size = $_FILES['fich']['size'];
$f1_name = $_FILES['fich']['name'];
$f1_tmpname = $_FILES['fich']['tmp_name'];


//Récupération de l'extension du fichier (on prend ce qui suit le dernier point et on le met en minuscule
$ext = strtolower(substr($f1_name,strrpos($f1_name, ".")+1));
//Création du tableau des extensions acceptées
$valides = array("rtf","doc");

//On vérifie la taille et le type de fichier
if ($f1_size > 100000)
{
$infos .= "- Le fichier est trop volumineux!<br>\n";
}
if(!in_array($ext,$valides))
{
$infos .= "- Ce type de fichier n'est pas accepté!<br>\n";
}

//Si tout est bon (aucune erreur dans $infos), on déplace le fichier
if ($infos == '')
{
$arbo="/web/testweb/cv/";

}
$nomDestination = "$nom-$prenom-$ddn_a.$ext";
move_uploaded_file($f1_tmpname,$arbo . $nomDestination) or $infos .= "- Impossible d'enregistrer le fichier, contacter le webmaster!<br>n";

// Plusieurs destinataires
$to = '[email protected]' . ', '; // notez la virgule

// Sujet
$subject = 'depot de dossier';

// message
$message = '
<html>
<head>
<title>depot de dosier</title>
</head>
<body>
<br><table border=\'2\' cellspacing=\'0\' bordercolor=#D8EDFF width=100%><tr bgcolor=\'#FFFFFF\'>
<TD ALIGN=top><span class=\"style5\">Nom</span></td>
<TD ALIGN=top><span class=\"style5\">Prenom</span></td>
<TD ALIGN=top><span class=\"style5\">Code postale</span></td>
<TD ALIGN=top><span class=\"style5\">Ville</span></td>

<TD ALIGN=top><span class=\"style5\">fichier</span></td>
</tr>
<td nowrap class=\"style4\">$nom</td>
<td nowrap class=\"style4\">$prenom</td>
<td nowrap class=\"style4\">$code</td>
<td nowrap class=\"style4\">$ville</td>
<td nowrap class=\"style6\"><a href=/web/testweb/fichierrecu/$nomDestination</a>telecharger</td>
</table><br>
</body>
</html>
';

// Pour envoyer un mail HTML, l'en-tête Content-type doit être défini
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

// Envoi
mail($to, $subject, $message, $headers);
>

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

08 juin 2005, 17:42

tu utilises des guillemets simples pour encadrer ta chaine
 // message
$message = '
<html>
<head> 
[...]
';
donc les variables ne sont pas interprétées

remplace les par des guillemets doubles et ça devrait fonctionner
 // message
$message = "
<html>
<head> 
[...]
";

Mammouth du PHP | 1776 Messages

08 juin 2005, 17:47

il faut lui preciser que le corps de ton message est du HTML en utilisant le header

attention cela peut provoquer de beau bugs ...

$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

mail($mail, $subject, $data, $headers);

si il opte pour l'option texte, il suffit de mettre le lien sans balise (juste l'adresse quoi) et la plupart des messageries le rendront cliquable.

Petit nouveau ! | 1 Messages

09 juin 2005, 16:20

$message = '
<html>
<head>
<title>depot de dosier</title>
</head>
<body>
<br><table border=\'2\' cellspacing=\'0\' bordercolor=#D8EDFF width=100%><tr bgcolor=\'#FFFFFF\'>
<TD ALIGN=top><span class="style5">Nom</span></td>

[...]

';

>
De plus, quand tu utilise les guillemets simple, n'échappe que les guillemets simple: 'c\'est "beau"' et inversément pour les guillemets doubles: "c'est "beau""