masquer - javascript openclassroom




Puis-je utiliser JavaScript pour créer un e-mail côté client? (4)

Avec javascript seul, ce n'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 webbrowser dans lequel il vit (pour une bonne raison!).

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

Je veux créer une page Web de créateur de courrier côté client. Je connais les problèmes d'utilisation de l'action mailto dans un format html (pas standard, pas d'application mail par défaut sur le client). Mais la page web n'est pas très importante, et ils s'en fichent beaucoup.

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

Sujet: sujet non défini
corps:

param1 = valeur1
param2 = valeur2
.
.
.
paramn = valuen

Puis-je utiliser JavaScript pour formater le courrier comme ceci?

Sujet: XXXXX

Corps: Valeur1; Valeur2; Valeur3 ... ValeurN


Vous avez plus ou moins seulement deux alternatives lors de l'envoi de courrier via le navigateur.

  1. faire une page qui prend l'entrée de l'utilisateur, et leur permet d'envoyer le courrier via votre serveur web. Vous avez besoin d'une sorte de script côté serveur pour cela.
  2. utiliser un lien mailto: pour déclencher l'ouverture du client mail enregistré. Cela présente les pièges évidents que vous avez mentionnés et est moins flexible. Il a besoin de moins de travail cependant.

Ce que nous avons utilisé dans un projet est une fenêtre popup qui ouvre un mailto: lien, c'est la seule façon de composer un mail dans le client mail par défaut qui fonctionne avec tous les clients mail (au moins tous nos clients).

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();    
}

Vous pouvez créer un mailto-lien et le déclencher en utilisant javascript:

  var mail = "mailto:[email protected]?subject=New Mail&body=Mail text body";  
  var mlink = document.createElement('a');
  mlink.setAttribute('href', mail);
  mlink.click();




email