Trucsweb.com

Trucsweb.com

Flash

Formulaire de saisie Flash

RDFFav

Envoyer un formulaire Flash avec la méthode Mailto avec la composante twFlashMailto facile à installer

Flash n’envoie pas de courriel mais il peut utiliser le logiciel de courrier électronique installé sur la machine de l’usager. Pour ce faire, il doit utiliser un lien getURL avec mailto:. Et construire une chaîne de caractères encodée comprenant le courriel du destinataire (receveur), le sujet et le message.formulaire getUrl mailto courrier électronique composante smartclip input text boîte de saisie envoyer submit email replace outlook twFlashMailto ActionScript release encoder url-encoded escape unescapeEnvoyer un formulaire Flash avec la méthode Mailto avec la composante twFlashMailto facile à installer

Flash n’envoie pas de courriel mais il peut utiliser le logiciel de courrier électronique installé sur la machine de l’usager. Pour ce faire, il doit utiliser un lien getURL avec "mailto:". Et construire une chaîne de caractères encodée comprenant le courriel du destinataire (receveur), le sujet et le message. La chaîne de caractères ainsi générée sera envoyée au logiciel de courrier électronique. Le logiciel ouvre alors une fenêtre pour envoyer un nouveau courriel avec les paramètres, spécifiés par le Flash, placé dans le nouveau courriel.

ATTENTION, bien que Outlook ou Netscape Mail sont sur la plupart des ordinateurs, ce flash peut ne pas fonctionner puisque qu’il est intimement relié à un logiciel externe au Flash. Logiciel qui doit être installé, compatible et fonctionnel.

NOTE : Vous ne pouvez tester l’envoie avec mailto dans un simple "Test movie". Pour le tester vous devez publier le Flash.

 

Paramètres de l’en-tête HTTP/GET
La chaîne doit être construite à la manière d’un en-tête HTTP/GET et respecter la nomenclature des paramètres. À savoir, débuter par le point d’interrogation ( ? ) et le séparateur de paramètres, le e commercial ( & ). Les paramètres possibles sont : (Attention, les noms de paramètre doivent être en minuscule).

  • to : par défaut il vientà la suite du mailto: et n’a pas besoin d’être identifié.
  • cc : Copie conforme, envoie le courriel à une deuxième adresse (optionnel).
  • bcc : Autre copie conforme, avec la particularité de cacher l’adresse (optionnel).
  • subject : Sujet du message (optionnel).
  • body : Message ou corps du courriel (optionnel).

getURL ("mailto:destinataire@courriel.com&cc=&bcc=&subject=&body=");

Encodage (url-encoded)
Les caractères du message doivent être encodés du type application/x-www-form-urlencoded pour les caractères accentués et notamment les sauts de lignes. Normalement on devrait utiliser escape sans problème mais Flash à un petit problème à ce niveau. Alors voilà ce que je propose dans la construction de la chaîne BODY.

J’ajoute manuellement les sauts de ligne. Le code du saut de ligne est "%0D" mais c’est parfois "%0A". Alors j’ajoute les deux pour augmenter les chances de compatibilité. Par exemple, je veux ajouter un en-tête à mon message et sauter deux lignes.

entete = "Bonjour%0D%0A%0D%0A"+message;

Le résultat sera:

Bonjour,

Et le message...

 

Saut de lignes dans un texte saisie
Si le message est saisi dans une boîte de texte (input text) à ligne multiple, ça se complique car il faut trouver tous les sauts ligne et les convertir manuellement. Outre le escape qui ne fonctionne pas dans ce cas précis, il n’y a aucune méthode pour remplacer un caractère dans une chaîne... Il faut donc faire notre propre fonction de remplacement.

Pour localiser les sauts de ligne dans le message, j’utilise unescape("%0D") ce qui revient à dire "un saut de ligne non encodé". Et je les remplace bien sûr par "%0D%0A". Les sauts de ligne du message seront ainsi préservés. J’ai fait une fonction appelée "RemplaceCar", voir dans l’exemple à télécharger. Ainsi, la construction finale de la chaîne (avec deux sauts de ligne à la fin du message) sera:

hMess = "Bonjour,%0D%0A%0D%0A"+RemplaceCar(this.tMessage, unescape("%0D"), "%0D%0A")+"%0D%0A";

 

Ajouter des valeurs de saisie
Si votre formulaire contient plusieurs champs de saisie, vous devez pour les récupérer les ajouter au paramètre "body" et donc les ajouter à la chaîne de cette façon (dans mon exemple j’ai deux champs de saisie (input texe) du nom de variable hNom et hPrenom).

hMess = "Message de : "+hPrenom+" "+hNom+"%0D%0A%0D%0A"+RemplaceCar(this.tMessage, unescape("%0D"), "%0D%0A")+"%0D%0A";

 

Exemple complet d’une chaîne envoyé au logiciel de courrier électronique.

// L’action du bouton "envoyer".
on (release) {

  // Adresse du receveur et sujet du message.
  hDestinataire = "votre@courriel.com";
  hSujet = "Le sujet du courriel";

  // Construction du message encodé
  hMess = "Message de : "+hPrenom+" "+hNom+"%0D%0A%0D%0A"+RemplaceCar(this.tMessage, unescape("%0D"), "%0D%0A")+"%0D%0A";

  // C’est ici que la chaîne est envoyée.
  getURL ("mailto:" +hDestinataire+ "?subject=" + hSujet + "&body=" +hMess);
}

 

La composante twFlashMailto
Cette composante ou "SmartClip" vient tout équipée, avec le formulaire, la fonction "RemplaceCar" et le script qui construit la chaîne dans le bouton envoyé. Pour l’utiliser il suffit d’ouvrir la librairie et de glisser la composante "twFlashMailto" dans votre propre Flash.

Une fois sur la scène, ouvrer l’onglet "paramètres" de la fenêtre "Propriétés". Vous verrez qu’il y a deux paramètres, soit l’adresse de courrier du destinataire (ou l’adresse de courrier de celui que recevra le courriel). Et le sujet par défaut du courriel envoyé. Vous n’avez qu’à changer leur valeur et votre formulaire sera fonctionnel.

NOTE : Cette technique n’est pas conseillée pour un projet professionnel. C’est mieux que rien mais au risque de décourager l’usager. En effet, il y a les problèmes de compatibilité, les problèmes reliés à l’installation de l’usager mais aussi un problème de confidentialité. Par exemple, quand je me retrouve dans cette situation, il y a 90% de chances que j’annule l’opération car je ne veux pas donner mon adresse de courrier électronique. Et si j’étais sur la machine d’un ami?

Pour une technique vraiment professionnelle, voir le prochain tutoriel. Mais attention, avant de perdre votre temps, assurez-vous d’avoir accès à un langage serveur comme le ASP, le PHP ou le Perl. C’est l’administrateur du serveur qui héberge votre site qui peut vous indiquer si vous avez accès à un de ces langages.

Téléchargez la composante twFlashMailto.zip

 

Django (Oznog) Blais
Dernière mise à jour :

Commentaires

Ajouter un commentaire
Votre adresse de courriel ne sera pas publiée. * L'astérisque indique les champs obligatoires.
Votre évaluation du tutoriel

       Visites : 5230 - Pages vues : 84753
X

Trucsweb.com Connexion

Connexion

X

Trucsweb.com Mot de passe perdu

Connexion

X

Trucsweb.com Conditions générales

Conditions

Responsabilité

La responsabilité des Trucsweb.com ne pourra être engagée en cas de faits indépendants de sa volonté. Les informations mises à disposition sur ce site le sont uniquement à titre purement informatif et ne sauraient constituer en aucun cas un conseil ou une recommandation de quelque nature que ce soit.

Aucun contrôle n'est exercé sur les références et ressources externes, l'utilisateur reconnaît que les Trucsweb.com n'assume aucune responsabilité relative à la mise à disposition de ces ressources, et ne peut être tenue responsable quant à leur contenu.

Droit applicable et juridiction compétente

Les règles en matière de droit, applicables aux contenus et aux transmissions de données sur et autour du site, sont déterminées par la loi canadienne. En cas de litige, n'ayant pu faire l'objet d'un accord à l'amiable, seuls les tribunaux canadien sont compétents.

X

Trucsweb.com Trucsweb

X

Trucsweb.com Glossaire

X

Trucsweb.com Trucsweb

X

Trucsweb.com Trucsweb

Conditions

Aucun message!

Merci.

X
Aucun message!
X

Trucsweb.com Créer un compte

Créer un compte

.
@