Les liens Mailto ne font rien dans Chrome mais fonctionnent dans Firefox?

149

Il semble que les mailtoliens que nous intégrons dans notre site Web ne font rien dans Chrome, bien qu'ils fonctionnent dans Firefox.

Exemple simple ici: http://jsfiddle.net/wAPNH/

<a href='mailto:[email protected]'>hi this is a test</a>

Avons-nous besoin de faire quelque chose de spécial pour activer les liens de messagerie dans Chrome?

Crashalot
la source
Fonctionne bien pour moi, avez-vous des extensions Chrome ou quelque chose qui pourrait interférer?
Ryan Kempt
Quelle application s'ouvre dans FF lorsque vous cliquez sur le lien mailto?
mohkhan
1
J'ai essayé dans Chrome 28 et ce lien JSfiddle a bien fonctionné pour moi (fonctionnant sur un mac et ouvert mail.app très bien).
sasbury
J'ai trouvé que faire mailto:test%40test.comest plus cohérent
Pro Q

Réponses:

128

Ceci est spécifique aux paramètres du navigateur, c'est-à-dire qu'il se comportera différemment selon les paramètres du navigateur de l'utilisateur. L'utilisateur peut modifier le mailto:comportement des liens dans Chrome en visitant chrome://settings/handlers, ouChrome Settings->Content Settings->Manage Handlers...

Si «e-mail» ne figure pas sur cette page, consultez cette réponse pour savoir comment procéder.

Kennypu
la source
7
super, quel est le comportement par défaut?
Crashalot
8
Je crois que la valeur par défaut est d'exécuter le client de messagerie sur l'ordinateur. Je sais qu'au travail, il fonctionnera thunderbird; s'ils ont Outlook installé, il peut exécuter Outlook, etc. Personnellement, il n'a pas exécuté gmail par défaut, j'ai dû le configurer de cette façon.
kennypu
2
@Crashalot non. un lien mailto est un lien mailto
kennypu
48
Ouvrir chrome: // settings / handlers me donne une boîte vide sans option pour ajouter un gestionnaire. On dirait que Chrome est gravement cassé ici: il n'ouvrira tout simplement pas mon mailer configuré (Thunderbird) en réponse à un lien mailto.
Peter Flynn
3
@PeterFlynn il semble que Chrome essaie maintenant d'exécuter le client de messagerie par défaut installé sur l'ordinateur. Assurez-vous que thunderbird est défini comme client de messagerie par défaut. Voir ce lien pour savoir comment faire cela: kb.mozillazine.org/Default_mail_client#Windows
kennypu
108

Ceci est dû au fait que Chrome gère le mailto de manière différente. Vous pouvez aller à chrome://settings/handlerset vous assurer que c'est le gestionnaire par défaut. Dans votre cas, ce ne sera aucun (c'est-à-dire non listé). Allez maintenant sur gmail.com. Vous devriez voir quelque chose comme ça lorsque vous cliquez sur le bouton à côté du bouton de signet.

Définir mailto dans Chrome

Si vous souhaitez ouvrir tous les liens de messagerie via Gmail, définissez "Utiliser Gmail". Maintenant, lorsque vous cliquez sur le bouton mailto, chrome s'ouvre automatiquement dans gmail.

Rajesh Hegde
la source
1
Cela a fonctionné pour moi, sans d'abord visiter gmail et en cliquant sur "autoriser gmail ...", il n'y avait pas de gestionnaire dans les paramètres à
modifier-
1
Gmail? Qu'est-ce que Gmail a à voir avec cela? Je veux que Chrome ouvre Thunderbird au lieu d'ouvrir une nouvelle instance de Chrome.
Peter Flynn
Accédez à chrome: // settings / handlers pour définir votre gestionnaire.
Rajesh Hegde
1
@ Gi1ber7 Vous pouvez accéder à chrome: // settings / handlers pour modifier le paramètre mailto.
Rajesh Hegde
1
je n'ai aucun gestionnaire là-bas. wth
Boris Gafurov
43

Dans mon cas, chrome était associé en tant que protocole MAILTO dans Windows 10 .

J'ai changé l'association vers Outlook en utilisant "Programmes par défaut" -> "Associer un type de fichier ou un protocole à un programme" .

MAILTO est bien en dessous de la liste. Cette capture d'écran peut vous aider.

entrez la description de l'image ici

SamJackSon
la source
D'accord, mais que se passe-t-il si nous voulons qu'il s'ouvre sur un site Web spécifique plutôt que dans une application?
Kyle Delaney
2
En utilisant Windows 10, j'ai dû sélectionner Outlook dans la liste de gauche avant de pouvoir voir la case à cocher du protocole «mailto» dans la liste de droite.
Tom McDonald
15

J'ai également rencontré ce problème et je l'ai finalement retrouvé au fait que mon lien se trouvait dans une iframe et que mon application Web utilise https. Chrome le bloquait à cause de cela (Chrome ouvrirait d'autres liens mailto en dehors de l'iframe).

Dans le lien mailto ne fonctionnant pas dans un cadre chrome (sur https) , kendsnyder a mentionné simplement changer

<a href="mailto:...">email</a>

à

<a target="_top" href="mailto:...">email</a>

Voila, problème résolu. Ce lien mailto fonctionne désormais dans tous les navigateurs.

Rudland
la source
Je suis curieux de savoir si l'utilisation target=_parent"fonctionnerait également. Bonne trouvaille.
Termato
Merci. A très bien fonctionné. @Termato, cela fonctionnerait probablement si c'était le cadre "supérieur". Utilisez simplement target="_top"ou si vous utilisez JavaScript:window.top.location.href = 'mailto:...'
Neil Monroe
Maintenant, target = "_ top" ne fonctionne pas non plus :( toute autre solution de contournement. J'ai essayé avec "_parent" et cela ne fonctionne pas aussi.
Vijay Mishra
target="_top"travaillé pour moi dans un iframe dans Google Chrome
John Doherty
@Basj fonctionne bien sur mon (dernier) Chrome. Avez-vous un client de messagerie par défaut sur votre ordinateur?
Thomas Ayoub
13

Vous devez autoriser gmail à installer le gestionnaire de service pour le protocole mailto:

1) Accédez à Gmail

2) cliquez sur l'icône du petit losange à la fin de la barre d'adresse (capture d'écran)

3) profiter

entrez la description de l'image ici

jj_
la source
je ne vois rien de tel
Boris Gafurov
@BorisGafurov Votre version de Chrome est-elle à jour?
jj_
7

Vous pouvez essayer d'aller à chrome://settings/handlerset définir la valeur pour mailto:à noneau lieu degmail

Yuriy Galanter
la source
7
Idem ici: chrome 27 n'a pas de gestionnaire pour mailto défini ou quoi que ce soit d'autre d'ailleurs ..wierd, peut-être une nouvelle sécurité par défaut dans chrome. Dans FF, j'ai dû l'ajouter manuellement aussi.
Robert Hoffmann
Pareil ici. Chrome est fondamentalement cassé par rapport aux liens mailto
Peter Flynn
6

Correction qui a fonctionné pour moi puisque mes gestionnaires de protocole étaient vides

https://productforums.google.com/forum/#!topic/gmail/CQMCGRvyhCM

Voir la réponse de redfish43, pour résumer

Pour mailto: - Assurez-vous que vous êtes connecté à Gmail et que la fenêtre active est votre page Gmail principale (sinon rien ne se passera). - Copiez / collez ceci dans la barre d'adresse:

javascript:navigator.registerProtocolHandler("mailto","https://mail.google.com/mail/?extsrc=mailto&url=%s","Gmail")

Ajoutez à nouveau le javascript: à l'avant si nécessaire, car lorsque vous l'avez collé, Chrome a probablement tout coupé avant et y compris les deux points. Puis appuyez sur Entrée.

Lorsque la fenêtre contextuelle s'ouvre, cliquez sur "Autoriser"

Benn
la source
Et pour outlook.com?
Kyle Delaney
3

J'ai eu le même problème. Le problème, pour une raison étrange, Chrome s'est transformé en outil par défaut pour ouvrir un lien mailto :. La solution, placez votre client de messagerie comme application par défaut pour l'ouvrir. Comment: http://windows.microsoft.com/en-nz/windows/change-default-programs#1TC=windows-7

Bonne chance

Jes
la source
merci, cela a été utile, j'ai dû essayer sans succès tous les plus hauts rangs avant d'arriver ici :(.
Boris Gafurov
2

J'ai trouvé cette réponse sur un forum Google qui m'a fonctionné. Dans les notes de bas de page, il mentionne «googleapps.exe» - je ne l'ai pas et cela fonctionne toujours. Suivez simplement les instructions ci-dessous, mais fermez toutes les applications avant d'apporter des modifications au registre. J'ai également enregistré la valeur existante au cas où cela ne fonctionnerait pas.


Tapez simplement "exécuter" dans votre barre de recherche, puis tapez "regedit" puis accédez à:

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mailto\shell\open\command\ 

modifier (double-cliquer) "(par défaut)" pour:

"C:\Program Files (x86)\Google\Google Apps\googleapps.exe" --domain= --mailto.google.com="%1" 

C'est tout! Enregistrez-le et fermez-le et cela devrait fonctionner à merveille!

L'utilisation de cette méthode vous évite d'avoir à télécharger le GMail Notifier, dont ceux d'entre nous qui ont GTalk n'ont pas besoin car il le fait pour nous. Je ne sais pas pourquoi Google ne peut pas résoudre ce problème facilement. J'ai entendu dire que Google Apps n'a pas été entièrement testé sur Windows 7, mais il est évident que la même balise fonctionne avec.

Remarque: la seule chose avec cette solution est que vous devez avoir le fichier googleapps.exe sur votre machine. Je crois que je l'ai obtenu avec mon GooglePack gratuit sur leur site qui a maintenant été abandonné. J'ai essayé de chercher sur le net un moyen de le télécharger, mais bizarrement, il semble qu'il ne soit réservé qu'aux entreprises maintenant et qu'il n'y a pas de lien de téléchargement disponible sur le Web parce que tous ceux qui l'ont diffusé l'ont diffusé en utilisant le programme de mise à jour de Google .. Odd. De toute façon bonne chance!

Mach1
la source
1

Une autre solution consiste à implémenter votre propre contrôle contextuel / formulaire / utilisateur personnalisé qui sera interprété universellement dans tous les navigateurs.

Certes, cela ne tirera pas parti des capacités «mailto» prêtes à l'emploi. Tout dépend du respect de la disponibilité contre lequel vous travaillez. Malheureusement pour moi - le mailto devait être accessible à tous par défaut sans «déranger le client».

Votre décision en fin de compte.

fenix
la source
1

Sur macOS, vérifiez également les paramètres Mail.app, quelle application est sélectionnée comme application de messagerie par défaut / associée aux mailto:liens:

Si vous avez déjà cliqué sur cette notification sur Gmail, ce qui permet d'ouvrir des liens dans Gmail à la place de votre application - et après avoir réinitialisé le gestionnaire Chrome , vous devez le modifier manuellement dans vos paramètres Mail.app.

Capture d'écran

CodeBrauer
la source
0

L'habituel <a href="mailto:[email protected]"></a>devrait fonctionner, mais n'oubliez pas que vous devez avoir un programme de messagerie par défaut défini sur votre ordinateur. Par exemple, j'utilise Ubuntu 14.04 et l'e-mail par défaut est thunderbird, ce qui fonctionne bien.

Sheshank S.
la source
0

"Utiliser Chrome, inviter des problèmes" - Anonyme. (Juste une référence symbolique)

Eh bien, Chrome est notoirement célèbre pour de nombreux utilitaires activés par la sécurité par défaut, et c'est de là que vient votre problème.

Cela peut cependant être annulé en `` définissant le client de messagerie par défaut '' (car le client de messagerie par défaut n'est pas défini), ou en configurant le gestionnaire par défaut sous `` chrome: // settings / handlers '' (par défaut, il est défini sur ' Ignorer').

user11768920
la source
1
Oui, c'est l'une des raisons les plus fréquentes. Et la solution suggérée devrait certainement fonctionner.
0

J'ai résolu le problème en utilisant ce code:

    
<button onclick="email()">Contact me !</button>	

<script>
function email() {
    var str = window.open('mailto:[email protected]', '_blank');
}
</script>

Cela a fonctionné pour moi comme un charme!

Waleed Aldhahi
la source
-3

Vous pouvez également utiliser comme ça,

<a href="javascript:void(0);" onclick="javascript:window.location.href='mailto:[email protected]'; return false;">[email protected]</a>

Je pense que c'est le meilleur moyen de résoudre les problèmes de chrome.

Merci..

Hiren Purohit
la source
'0', pas 'o' dans void(). Cela ne semble pas très bien fonctionner pour moi. Y a-t-il autre chose à ajouter?
Rob
-7

Veuillez vérifier ceci:

Cela fonctionne dans Chrome et tous les navigateurs.

<a href="mailto:[email protected]">Test</a>

essayez de travailler en grand.

Bharat Parmar
la source