11
votes

Qu'est-ce que `Mailto:` faire quand il n'y a pas de client de messagerie?

Je développe un site Web.

Qu'est-ce que Mailto: Ouvrir s'il n'y a pas de client de messagerie (comme Outlook, Thunderbird, etc.)? Cela fonctionne sur mon ordinateur, qui a des perspectives, mais si on veut si on veut Mailto: Pour ouvrir, dites, gmail.com?

Que dois-je mettre dans le mailto: instruction pour que cela se produise?


2 commentaires

Pour autant que je sache, Mailto n'ouvre que ces clients sur le système d'exploitation invité. S'il n'y en a pas, cela ne fonctionne pas. Il existe des plugins (chrome) pour faire gmail votre "client de messagerie par défaut". Je résout cela en créant un (PHP) de sur mon site et en l'envoyant de cette façon.


Je ne pense pas que cela fonctionnerait. Je suggère d'avoir une forme à la place de Ajax.


5 Réponses :


0
votes

Que se passe-t-il entièrement au client. Le système d'exploitation définit les gestionnaires de protocole pour les protocoles tels que mailto: ou Tel: , etc.

Vous auriez besoin d'un accès au registre du client (dans le cas d'un système Windows) pour Manipuler l'application de traitement de votre gestionnaire de protocole.

Pour Outlook 2013 En tant que gestionnaire désigné, la structure de registre SEL ressemble à ceci: xxx

avec un correspondant Structure sous HKCU.


0 commentaires

1
votes

Je crois que vous pouvez utiliser ceci. https://mail.google.com/mail/?view =cm&fs=1&to=email@domain.com Cela a cependant ses défauts dans lesquels l'utilisateur doit être déjà connecté à Gmail. J'espère que cela vous aidera!


1 commentaires

En supposant que l'utilisateur soit connecté (ou même utilise un) compte gmail est, je dirais que, même pire que d'avoir leur propre client de messagerie configuré.



12
votes

En tant que développeur Web, vous n'avez aucun contrôle sur le logiciel qu'un utilisateur choisit d'ouvrir leur courrier électronique, car il est géré par les paramètres du navigateur Web de cet utilisateur ou par le système d'exploitation. Si un utilisateur n'a aucun programme de messagerie installé sur sa machine et aucune opération définie pour les liens «Mailto» dans leur navigateur, rien ne se produirait.


0 commentaires

0
votes

Le schéma ur / code> uri ne décide que ce qui se passe-- Cela indique simplement au navigateur que vous utilisez pour faire tout ce qu'il a été configuré de faire pour envoyer des courriels (voir La norme proposée de l'IETF pour plus d'informations ). Par conséquent, vous devrez consulter le navigateur lui-même pour voir ce qu'il fait si aucun client de messagerie n'est configuré.

Selon la documentation et à mon expérience personnelle, je ne vois aucune façon de définir manuellement une action: il pourrait être possible avec certains navigateurs avec une syntaxe non standard, mais cela est peu probable car cela ouvrirait une énorme problème de sécurité potentiel en pouvant exécuter une commande arbitraire par clic (comme le téléchargement d'un virus ou quelque chose comme ça).


0 commentaires

6
votes

La solution suivante fonctionne pour moi:

(function($)) {
  $('a[href^=mailto]').each(function() {
    var href = $(this).attr('href');
    $(this).click(function() {
      var t;
      var self = $(this);

      $(window).blur(function() {
        // The browser apparently responded, so stop the timeout.
        clearTimeout(t);
      });

      t = setTimeout(function() {
        // The browser did not respond after 500ms, so open an alternative URL.
        document.location.href = '...';
      }, 500);
    });
  });
})(jQuery);


0 commentaires