[php] probleme de mail

Fermé
youplaboum - 1 juin 2007 à 17:33
 majdii007 - 19 août 2008 à 20:57
Bonjour,

J'ai créé un formulaire pour mon site php et il envoie un email
à la personne qui c'est inscrite.

J'aimerais savoir si il est possible de mettre un lien qui ouvrirait
cette email (avec outlook je pense)
et comment mettre une image dans l'email.

Mon site n'est pas encore hebergé donc le lien
que j'ai est <img href="images/machin.jpg" >
mais çà m'afficher <img href="images/machin.jpg" >
dans l'email à la place de mon image.

si quelqu'un peut me venir en aide je le remercie.
A voir également:

6 réponses

Barracuda8 Messages postés 107 Date d'inscription vendredi 4 mai 2007 Statut Membre Dernière intervention 19 décembre 2011 65
1 juin 2007 à 18:15
Salut,

Les envois de mails c'est toujours un peu énervant puisqu'il suffit de pas grand chose pour que ca ne marche pas.

Voici donc un script qui envoi un mail accompagné d'images, de tableau ... de html en fait!

!!Attention les images sont ici insérées au corps du mail et non en piece jointe!!

//j'ai un champs de type textarea avec du texte dedans (cela peu tres bien être du html avec des images et tous ce que html offre)
je le met dans deux variables différentes et j'enleve les slashs intempestifs du genre l/'a...

$msg_body = stripslashes($_POST['textarea1']);
$MesText = stripslashes($_POST['textarea1']);

//ici je retire toutes les balises html et je ne garde que les balises de type "<a>" pour les liens C'est utile pour au cas où le destinataire ne puisse pas lire le html dans sa messagerie (et oui ca arrive encore!)

$MesText=modif($MesText);//voir la fct en bas
$MesText = strip_tags($MesText,"<a></a>"); //on vire les balises...


//l'entete de mon mail
$Codage = "_NextPart_".md5(uniqid(rand()));

$Entete = "Reply-to: ".$Reply."\n";
$Entete .= "From:".$from."\n";
$Entete .= "Date: ".date("l j F Y, G:i")."\n";
$Entete .= "MIME-Version: 1.0\n";
$Entete .= "Content-Type: multipart/alternative;\n";
$Entete .= " boundary=\"----=".$Codage."\"\n\n";

//--- Message au format Text
$Texte = "This is a multi-part message in MIME format.\n";
$Texte .= "Ceci est un message est au format MIME.\n";
$Texte .= "------=".$Codage."\n";
$Texte .= "Content-Type: text/plain; charset=\"UTF-8\"\n";
$Texte .= "Content-Transfer-Encoding: 8bit\n\n";
$Texte .= $MesText."\n\n";

//--- Message au format HTML
$HTML = "------=".$Codage."\n";
$HTML .= "Content-Type: text/html; charset=\"UFT-8\"\n";
$HTML .= "Content-Transfer-Encoding: 8bit\n\n";
$HTML .= $msg_body."\n\n\n------=".$Codage."\n";

//on utilise la fonction php mail
mail("Mondestinataire", "Mon objet", $Texte.$HTML, $Entete);

//$Texte.$HTML correspond à mon msg en que tel
//au cas ou le destinataire devrait recevoir mon msg au format text. on //va remplacer certaines balises pour garder les sauts de ligne et ne pas tout avoir en un bloc:

function modif($str_accent) {
$pattern = Array("/<br \/>/","/<\/p>/");
// notez bien les / avant et après les caractères
$rep_pat = Array("\n","\n");
$str_noacc = preg_replace($pattern, $rep_pat, $str_accent);
return $str_noacc;
}

//pour bien recevoir les images, faire attention à bien donner le chemin absolu de ces dernieres

PS: voici un lien ou tu pourras trouver des infos:
https://www.vulgarisation-informatique.com/mail.php

A+
3
merci beaucoup
je vais essayer çà.
0
Edouard > youplaboum
1 juin 2007 à 18:54
déjà pour faire référence à une image il faut un tage de ce type :
<img src="chemi/image.ext">
tu avais mit href, ça c'est pour le lien <a href="chemin/page.html">lien ou image</a>
0
Salut Barracuda8,

Je viens de lire ton post sans le tester, tu parles de textearea1, qui doit être dans le formulaire de la page précédente et passé en post si j'ai bien compris.

Quels sont les autres champs de ce formulaire (j'ai vu des variables non définies dans ce script comme $Reply et $from)?

Si tu as le code du formulaire ça lui fera (et moi aussi) bien gagner du temps...
0
Barracuda8 Messages postés 107 Date d'inscription vendredi 4 mai 2007 Statut Membre Dernière intervention 19 décembre 2011 65 > Edouard
1 juin 2007 à 19:17
bien vu!

Excusez moi, voici qques précisions:

- Il s'agit d'un formulaire assez simple, la chaine "textarea1" désigne le nom de mon textarea (celui ou j'entre le texte ou le code html qui sera envoyé). Ce champs textarea est en fait le résultat de l'éditeur de texte que j'utilise (tinyMCE) mais cela ne change en rien le code de l'envoi de mail, ca sert à generer automatiquement du html.

- La variable "$reply" donne une valeur à REPLY-TO

# Reply-To : cet en-tête permet de spécifier l'adresse email de réponse (qd on répond à un mail).
On l'utilise comme ceci : Reply-To: adresse_mail

- La variable "from" donne une valeur à FROM

# From : cet en-tête permet de spécifier l'adresse email de l'expéditeur. On peut mettre tout et n'importe quoi comme adresse mail, et donc vous comprennez maintenant pourquoi vous recevez des emails de bill gates en personne (sic) et autres débilités (SPAM).
On l'utilise comme ceci : From: "Nom de l'expéditeur" <adresse mail de l'expéditeur>

Voilà, si il y a d'autres questions, n'hésitez pas!

A+

PS: je ne peux pas te donner le code du formulaire en question mais il s'agit d'un formulaire assez classique dans la forme. Ce qui est important c'est de bien récuperer les valeurs du formulaire et donner les variables de la fonction mail.
0
youplaboum > Edouard
4 juin 2007 à 10:25
merci je n'avais pas penser a mettre du html mais j'ai du mal expliquer mon problème.
en fait l'adresse de mon image c'est
<img src="images\youplaboum.jpg">
mais ce n'est pas çà que je dois mettre.
Cà me met le carré vide avec la X rouge.
et je ne sais ce que je dois mettre justement.
pareil pour la feuille de style.

help please
0
Utilisateur anonyme
1 juin 2007 à 17:36
euhhhhhh un lien sur ton site qui ouvre le mail que le gars a reçu ça me parait chaud.....
0
pourtant y'a bien des sites qui nous envoient
sur un email de confirmation quand on s'inscrit!!!!
mais c'est vrai que j'ai chercher sur le net et... rien
merci quand même.
si vous avez la réponse merci de m'aider
0
Utilisateur anonyme
1 juin 2007 à 17:44
ben moi j'ai jamais vu ça
a la limite sur ta boite mail tu recoit un email avec un lien qui te renvoi sur leur site a une page de confirmation mais c'est tout...
0
ah oui je crois que je me suis trompé :-[
désolé
mais pour l'image sinon?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
1 juin 2007 à 17:50
je sait que c'est possible mais je ne connais pas la sollution...
je suis désolé
a la limite essai d'éditer un mail outlook avec une image dedans
avec un etditeur de text si tu peux voir la source.

perso je n'utilise pas outlook donc...:s
0
je cherche le code de snail mail
0