ActionScript 3.0, l'essentiel sous la main Adobe Flash Accueil
Fiches
Boutique
Contact
Envoyer un email
Nous allons voir ici comment réaliser un petit formulaire permattant d'envoyer un email.

Commencez par créer vos zones de texte de saisie en leur donnant des noms d'occurences : data_nom, data_prenom, data_adresse, data_sujet, et data_message.
Créez également un bouton de validation btn_envoyer.

Ensuite, sur une image clé vide, mettez ceci :

//Imports Flash
import flash.net.URLRequest;
import flash.net.URLLoader;
import flash.net.URLVariables;
import flash.events.MouseEvent;

function envoyer(e:MouseEvent):void
{
//Création des variables à passer dans l'URL
var vars:URLVariables = new URLVariables();
vars.nom = data_nom.text;
vars.prenom = data_prenom.text;
vars.email = data_email.text;
vars.sujet = data_sujet.text;
vars.txt_message = data_message.text;

//Fichier PHP qui va envoyer l'email
var url:URLRequest = new URLRequest("envoi.php"); //URL du fichier PHP
url.method = URLRequestMethod.POST; //Définit la méthode d'envoi des variables dans l'URL (POST ou GET)
url.data = vars; //On intégre les variables dans l'URL (en POST)

navigateToURL(url,"_self"); //Envoi des données du formulaire au fichier envoi.php
}
btn_envoyer.addEventListener(MouseEvent.CLICK, envoyer);

Maintenant, il faut créer le fichier PHP qui va envoyer l'email :

<?php
//Récupération des données envoyé par Flash (en POST)
$nom = $_POST["nom"];
$prenom = $_POST["prenom"];
$email = $_POST["email"];
$subject = $_POST["sujet"];
$texte = $_POST["txt_message"];

//Destinataire du mail
$destinataire = "votre_email@fai.fr";

//Entête du mail
$headers = "MIME-Version: 1.0\n";
$headers .= "From: \"".$nom." ".$prenom."\" <".$email.">\n";
$headers .= "X-Sender: <".$email.">\n";
$headers .= "X-Mailer: ".phpversion()."\n";
$headers .= "Content-type: text/html; charset=utf-8 \n";
$headers .= "\n";

//Création du message
$message = "<b>Auteur :</b> ".$nom." ".$prenom."<br>";
$message .= "<b>Email :</b> ".$email."<br>";
$message .= "<b>Objet :</b> ".$subject."<br>";
$message .= "<br>";
$message .= "<b>Message :</b> <br>";
$message .= $texte;

//Envoi
mail($destinataire,$subject,$message,$headers,"-f".$email);
?>

Et voilà. Veillez à ce que l'URL du fichier PHP soit correct. Pensez aussi à vérifier que le serveur ou vous hébergez votre site autorise bien l'utilisation de la fonction PHP mail().

Si vous souhaitez recevoir une confirmation que l'email a bien été envoyé, modifier le code comme ceci :

//Import des classes nécessaires
import flash.net.URLRequest;
import flash.net.URLLoader;
import flash.net.URLVariables;
import flash.events.Event;
import flash.events.MouseEvent;

function envoyer(e:MouseEvent):void
{
//Création des variables à passer dans l'URL
var vars:URLVariables = new URLVariables();
vars.nom = data_nom.text;
vars.prenom = data_prenom.text;
vars.email = data_email.text;
vars.sujet = data_sujet.text;
vars.txt_message = data_message.text;

//Fichier PHP qui va envoyer l'email
var url:URLRequest = new URLRequest("envoi.php"); //URL du fichier PHP
url.method = URLRequestMethod.POST; //Définit la méthode d'envoi des variables dans l'URL (POST ou GET)
url.data = vars; //On intégre les variables dans l'URL (en POST)

//Exécution du fichier PHP
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, onLoaded);
loader.load(url);
}
btn_envoyer.addEventListener(MouseEvent.CLICK, envoyer);

//Récèpetion de la confirmation d'envoi
function onLoaded(e:Event):void
{
var xml:XML = new XML(e.target.data);
var reponse:XMLList = xml.root.envoi;

//Affichage de la réponse
if(reponse[0] == "true")
{
//Email envoyé
}
else
{
//Erreur
}
}

Maintenant, il faut créer le fichier PHP qui va envoyer l'email :

<?php
//Récupération des données envoyé par Flash (en POST)
$nom = $_POST["nom"];
$prenom = $_POST["prenom"];
$email = $_POST["email"];
$subject = $_POST["sujet"];
$texte = $_POST["txt_message"];

//Destinataire du mail
$destinataire = "votre_email@fai.fr";

//Entête du mail
$headers = "MIME-Version: 1.0\n";
$headers .= "From: \"".$nom." ".$prenom."\" <".$email.">\n";
$headers .= "X-Sender: <".$email.">\n";
$headers .= "X-Mailer: ".phpversion()."\n";
$headers .= "Content-type: text/html; charset=utf-8 \n";
$headers .= "\n";

//Création du message
$message = "<b>Auteur :</b> ".$nom." ".$prenom."<br>";
$message .= "<b>Email :</b> ".$email."<br>";
$message .= "<b>Objet :</b> ".$subject."<br>";
$message .= "<br>";
$message .= "<b>Message :</b> <br>";
$message .= $texte;

//Envoi du mail et écriture de la réponse
header ("Content-Type: text/xml");
echo "<?xml version=\"1.0\" encoding=\"utf-8\" ?>";
echo "<root>";
if(mail($destinataire,$subject,$message,$headers,"-f".$email)) //Si l'email a bien été envoyé
{
echo "<envoi>true</envoi>"; //On renvoi "true" = OK
}
else //Sinon
{
echo "<envoi>false</envoi>"; //On renvoi "false" = erreur
}
echo "</root>";
?>
Commentaire(s)
Aucun.