Question

Je souhaite créer une page Web de création de courrier côté client.Je connais les problèmes liés à l'utilisation de l'action mailto dans un formulaire HTML (non standard, aucune application de messagerie par défaut définie sur le client).Mais la page Web n'est pas très importante et ils s'en moquent peu.

Le mail créé par l'action mailto a la syntaxe :

sujet:sujet indéfini
corps:

paramètre1=valeur1
paramètre2=valeur2
.
.
.
paramètre=valeur

Puis-je utiliser JavaScript pour formater le courrier de cette manière ?

Objet : XXXXXX

Corps:Valeur1;Valeur2;Valeur3...ValeurN

Était-ce utile?

La solution

Ce que nous avons utilisé dans un projet est une fenêtre popup qui ouvre un mailto :lien, c'est le seul moyen que nous avons trouvé pour composer un mail dans le client de messagerie par défaut qui fonctionne avec tous les clients de messagerie (au moins tous nos clients utilisés).

var addresses = "";//between the speech mark goes the receptient. Seperate addresses with a ;
var body = ""//write the message text between the speech marks or put a variable in the place of the speech marks
var subject = ""//between the speech marks goes the subject of the message
var href = "mailto:" + addresses + "?"
         + "subject=" + subject + "&"
         + "body=" + body;
var wndMail;
wndMail = window.open(href, "_blank", "scrollbars=yes,resizable=yes,width=10,height=10");
if(wndMail)
{
    wndMail.close();    
}

Autres conseils

Vous n'avez plus ou moins que deux alternatives lorsque vous envoyez du courrier via le navigateur.

  1. créez une page qui prend en compte les entrées de l'utilisateur et lui permet d'envoyer le courrier via votre serveur Web.Vous avez besoin d'une sorte de script côté serveur pour cela.
  2. utilisez un mailto :lien pour déclencher l’ouverture du client de messagerie enregistré des utilisateurs.Cela présente les pièges évidents que vous avez mentionnés et est moins flexible.Cela nécessite cependant moins de travail.

Avec javascript seul, c'est pas possible.
Javascript n'est pas destiné à faire de telles choses et est gravement paralysé dans la façon dont il peut interagir avec autre chose que le navigateur Web dans lequel il réside (pour une bonne raison !).

Pensez-y:un spammeur écrivant un site Web avec du javascript côté client qui enverra automatiquement des messages à des milliers d'adresses e-mail aléatoires.Si les gens allaient sur ce site, ils participeraient tous à une arnaque par publipostage distribué, avec leur propre ordinateur...aucune infection ou interaction de l'utilisateur n'est nécessaire !

Vous pouvez créer un lien mailto et le lancer en utilisant javascript :

  var mail = "mailto:buddy@mail.com?subject=New Mail&body=Mail text body";  
  var mlink = document.createElement('a');
  mlink.setAttribute('href', mail);
  mlink.click();

Y a-t-il une raison pour laquelle vous ne pouvez pas simplement envoyer les données à une page qui gère l'envoi du courrier ?Il est assez facile d'envoyer un e-mail dans la plupart des langues, donc à moins qu'il n'y ait une bonne raison de le transmettre côté client, je recommanderais cette voie.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top