envoyer un mail en html

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : envoyer un mail en html

par Cyrano » 27 mai 2005, 17:37

Exactement pour les images, c'est ça.

Sinon, il est possible de les inclure, mais il faut passer par des librairies objet.... ça commence à devenir complexe.

Tu peux cliquer sur le bouton [Résolu] en haut du post :)

Ouais !!!

par orsanton » 27 mai 2005, 17:36

Ca marche !!!

Merci 1000 fois Cyrano, je suis fou de joie !

Je vais pourvoir faire moult essais, avec des images cette fois (je sais qu'il faut préciser le chemin absolu pour qu'elles apparaissent dans le mail, du genre:
http://www.monsite.com/images/maman.gif

Encore merci. PHP FRance va m'aider à étudier le PHP.

par Cyrano » 27 mai 2005, 17:25

Ok, quelques petites erreurs dans le fichier php:
<?php
$to = $_POST['to'];  
$sujet = $_POST['sujet'];
$message = $_POST['message'];
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: Orsanton <[email protected]>\r\n";
$headers .= "Bcc: ".$dest."\r\n";

mail($to, $sujet, $message, $headers);
?>
Il y avait un " juste avant le $_POST['to'] qui mettait tout par terre et ensuite dans les headers, ça se terminait par "nr" au lieu de "\r\n".

Essaye avec ça, rien à dire sur le formulaire html :)

par orsanton » 27 mai 2005, 17:19

Alors voilà ce que ça donne pour le fichier "envoi.php":
<?php
 $to="$_POST['to'];  
 $sujet = $_POST['sujet'];
 $message = $_POST['message'];
 $headers = "MIME-Version: 1.0\r\n";
 $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
 $headers .= "From: Orsanton
<[email protected]>\r\n";
 $headers .= "Bcc: ".$dest."\r\n";

 mail($to, $sujet, $message, $headers);
?>
et voilà ce que ça donne pour mon formulaire d'envoi en html:

<HTML>
<HEAD>
<TITLE>formulaire d’envoi</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY bgcolor="#FFFFFF" text="#000000">
<form method="post" action="envoi.php">
Destinataire:<input type="text" name="to"><BR>
Sujet: <INPUT type="text" name="sujet"><BR>
Message: <TEXTAREA NAME="message" ROWS="30" COLS="60"></TEXTAREA><BR>
<INPUT type="submit" name="Submit" value="Envoyer">
</form>
</BODY>
</HTML>


est-ce que ça vous paraît correct ? Je vais refaire un essai.[/php]

Merci !

par orsanton » 27 mai 2005, 17:01

Merci Cyrano,
je fais ça tout de suite, en suivant tes instructions !

par Cyrano » 27 mai 2005, 16:58

Dans l'ensemble, ton schéma est juste: tu pourrais aussi le faire sur un seul fichier, mais avec deux, c'est très bien.

Maintenant, pour comprendre pourquoi ça ne fonctionne pas, il faudrait qu'on voit ton script et éventuellement le formulaire afin d'y détecter les coquilles qui ont pu s'y gisser et bloquer le fonctionnement.

Mets nous ça ici en utilisant les boutons [ PHP ] au dessus de la zone de saisie de message pour encadrer les scripts.

envoyer un mail en html

par orsanton » 27 mai 2005, 16:54

Bonjour à tous,

Je suis vraiment débutant en PHP et j'ai besoin d'un coup de main, silvousplé. Je souhaite envoyer un mail en HTML (avec de belles images, tout ça...). Sur le Net, j'ai pu copier le code PHP qui gère ça, comme:
<?php

// Variables
$to="adresse du destinataire";
$from="De:votre adresse ici\r\n";
$from.="MIME-Version: 1.0\r\n";
$from.="Content-Type: text/html; charset=fr-ascii\r\n";
$sujet="votre sujet";
$message="<html>votre code html ici</html>";

//appel de la fonction mail (envoi)
mail($to,$sujet,$message,$from);

?>

Donc, sur ce même fichier, il faut que je fasse des changements pour l'adapter à mes besoins, comme par exemple:

$to="$_POST['to'];
ou bien
$sujet = $_POST['sujet'];

C'est bien ça ???

Bon, ensuite, j'appelle ce fichier envoi.php, je le place sur mon serveur.

Maintenant, pour l'exécuter, il faut bien créer un formulaire d'envoi (en html, par exemple) avec <form method="post" action="envoi.php">;
Et là, par exemple, je créé mes champs, comme:

Destinataire:<input type="text" name="to">

et ainsi de suite. Quand je valide, ça envoie mon mail au destinataire.
J'ai fait des essais et ça ne marche pas. Est-ce la bonne méthode ?? Il faut bien deux fichiers: un fichier PHP avec les variables et un formulaire pour envoyer les mails, non ?

D'avance, merci