97 votes

Ouvrir automatiquement le client de messagerie par défaut et pré-remplir le contenu

Je dois ouvrir automatiquement le client de messagerie par défaut d'un utilisateur lorsqu'il enregistre du contenu sur une page. Je dois remplir l'objet de l'email, l'adresse de destination, et ajouter du contenu dans le corps de l'email.

Quelle est la meilleure option pour réaliser cela ?

Je connais l'attribut mailto:, mais l'utilisateur doit cliquer dessus et je ne suis pas sûr qu'il permette de spécifier l'objet et le contenu ?

148voto

jsalonen Points 9651

Tel que décrit par RFC 6068, mailto vous permet de spécifier les champs subject et body, ainsi que les champs cc. Par exemple:

mailto:username@example.com?subject=Subject&body=message%20goes%20here

L'utilisateur n'a pas besoin de cliquer sur un lien si vous le forcez à s'ouvrir avec JavaScript

window.location.href = "mailto:user@example.com?subject=Subject&body=message%20goes%20here";

Sachez qu'il n'y a pas de manière unique et standard que les navigateurs/clients de messagerie électronique utilisent pour gérer les liens mailto (par exemple, les champs sujet et corps peuvent être ignorés sans avertissement). De plus, il existe un risque que les bloqueurs de fenêtres contextuelles, les logiciels antivirus, etc. puissent bloquer silencieusement l'ouverture forcée des liens mailto.

15voto

user5506072 Points 151

JQuery :

$(function () {
      $('.SendEmail').click(function (event) {
        var email = 'sample@gmail.com';
        var subject = 'Test';
        var emailBody = 'Hi Sample,';
        var attach = 'path';
        document.location = "mailto:"+email+"?subject="+subject+"&body="+emailBody+
            "?attach="+attach;
      });
    });

HTML :

 Envoyer un e-mail

3voto

vikram kedlaya Points 71

Mis en œuvre de cette manière sans utiliser Jquery:

Répondre

function sendEmail(message) {
    var email = message.emailId;
    var subject = message.subject;
    var emailBody = 'Bonjour '+message.from;
    document.location = "mailto:"+email+"?subject="+subject+"&body="+emailBody;
}

2voto

subindas pm Points 998

Essayez ceci : Cela ouvrira directement le courrier par défaut.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X