Il s'agit d'une vieille question, mais j'ai combiné plusieurs débordements de pile pour aboutir à cette fonction :
//this.MailTo is an array of Email addresses
//this.MailSubject is a free text (unsafe) Subject text input
//this.MailBody is a free text (unsafe) Body input (textarea)
//SpawnMail will URL encode /n, ", and ', append an anchor element with the mailto, and click it to spawn the mail in the users default mail program
SpawnMail: function(){
$("#MyMailTo").remove();
var MailList="";
for(i in this.MailTo)
MailList+=this.MailTo[i]+";";
var NewSubject=this.MailSubject.replace(/\n/g, "%0d%0a");
NewSubject=NewSubject.replace(/"/g, "%22");
NewSubject=NewSubject.replace(/'/g, "%27");
var NewBody=this.MailBody.replace(/\n/g, "%0d%0a");
NewBody=NewBody.replace(/"/g, "%22");
NewBody=NewBody.replace(/'/g, "%27");
$("#mainNavBar").after("<a id='MyMailTo' style='display:none;' href='mailto:"+MailList+"?subject="+NewSubject+"&body="+NewBody+"'> </a>");
document.getElementById('MyMailTo').click();
}
L'avantage de cette fonction (et la façon dont je compte l'utiliser) est que je peux la placer dans une boucle et répartir les messages individuels entre tous les membres du tableau ou les garder ensemble (ce que fait actuellement cette fonction). En tout cas, merci pour le conseil @Toskan.
SUIVI - Veuillez noter que la nouvelle norme HTML5 n'autorise pas le bouclage de mailto (ou d'autres js liés aux pop-up) sans un "geste requis de l'utilisateur". Un article intéressant ici : https://github.com/WICG/interventions/issues/12 Vous ne pouvez donc pas l'utiliser pour générer en masse des e-mails individuels, mais il fonctionne bien pour l'envoi à plusieurs personnes dans sa conception actuelle.
0 votes
Exemple de travail : jsfiddle.net/gaboom/h81qov5g
1 votes
Essayez
<button onclick="window.open('mailto:KingRider<contato@sandroalvares.com.br>');">Contact me</button>