Mailto-Links funktionieren in Chrome nur in Firefox?

149

Es scheint, dass die mailtoLinks, die wir in unsere Website einbetten, in Chrome nichts bewirken, obwohl sie in Firefox funktionieren.

Einfaches Beispiel hier: http://jsfiddle.net/wAPNH/

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

Müssen wir etwas Besonderes tun, um E-Mail-Links in Chrome zu aktivieren?

Crashalot
quelle
Funktioniert gut für mich, haben Sie einige Chrome-Erweiterungen oder etwas, das stören würde?
Ryan Kempt
Welche Anwendung wird in FF geöffnet, wenn Sie auf den Mailto-Link klicken?
Mohkhan
1
Ich habe es in Chrome 28 versucht und dieser JSfiddle-Link hat für mich gut funktioniert (läuft auf einem Mac und hat mail.app ganz gut geöffnet).
Sasbury
Ich habe festgestellt, dass das Tun mailto:test%40test.comkonsequenter ist
Pro Q

Antworten:

128

Dies ist spezifisch für die Browsereinstellungen, dh es verhält sich abhängig von den Browsereinstellungen des Benutzers unterschiedlich. Der Benutzer kann das Verhalten von mailto:Links in Chrome durch Besuchen von chrome://settings/handlersoder ändernChrome Settings->Content Settings->Manage Handlers...

Wenn "E-Mail" auf dieser Seite nicht aufgeführt ist, lesen Sie diese Antwort bezüglich der Vorgehensweise.

kennypu
quelle
7
toll, was ist das Standardverhalten?
Crashalot
8
Ich glaube, der Standard ist, den Mail-Client auf dem Computer auszuführen. Ich weiß bei der Arbeit, es wird Thunderbird laufen; Wenn Outlook installiert ist, wird möglicherweise Outlook usw. ausgeführt. Persönlich wurde Google Mail standardmäßig nicht ausgeführt. Ich musste es auf diese Weise einrichten.
Kennypu
2
@Crashalot nein. Ein Mailto-Link ist ein Mailto-Link
Kennypu
48
Wenn ich chrome: // settings / handlers öffne, bekomme ich ein leeres Feld ohne die Option, einen Handler hinzuzufügen. Es sieht so aus, als ob Chrome hier stark kaputt ist: Mein konfigurierter Mailer (Thunderbird) wird als Antwort auf einen Mailto-Link einfach nicht geöffnet.
Peter Flynn
3
@PeterFlynn Es sieht so aus, als würde Chrome jetzt versuchen, den auf dem Computer installierten Standard-Mail-Client auszuführen. Stellen Sie sicher, dass Thunderbird als Standard-Mail-Client festgelegt ist. Siehe diesen Link, wie das geht: kb.mozillazine.org/Default_mail_client#Windows
kennypu
107

Dies liegt daran, dass Chrome das Mailto auf unterschiedliche Weise behandelt. Sie können zu gehen chrome://settings/handlersund sicherstellen, dass dies der Standardhandler ist. In Ihrem Fall wird es keine sein (dh nicht aufgeführt). Gehen Sie jetzt zu gmail.com. Sie sollten so etwas sehen, wenn Sie auf die Schaltfläche neben der Lesezeichenschaltfläche klicken.

Stellen Sie mailto in Chrom ein

Wenn Sie alle E-Mail-Links über Google Mail öffnen möchten, wählen Sie "Google Mail verwenden". Wenn Sie nun auf die Mailto-Schaltfläche klicken, wird Chrome automatisch in Google Mail geöffnet.

Rajesh Hegde
quelle
1
Dies funktionierte für mich, ohne zuerst Google Mail zu besuchen und auf "Google Mail zulassen ..." zu klicken. Es gab keinen Handler in den Einstellungen, die geändert werden mussten
chrismarx
1
Google Mail? Was hat Google Mail damit zu tun? Ich möchte, dass Chrome Thunderbird öffnet, anstatt eine neue Instanz von Chrome zu öffnen.
Peter Flynn
Gehen Sie zu chrome: // settings / handlers, um Ihren Handler einzustellen.
Rajesh Hegde
1
@ Gi1ber7 Sie können zu chrome: // settings / handlers gehen, um die mailto-Einstellung zu ändern.
Rajesh Hegde
1
Ich habe dort keine Handler. wth
Boris Gafurov
42

In meinem Fall wurde Chrome in Windows 10 als MAILTO- Protokoll zugeordnet .

Ich habe die Zuordnung mithilfe von "Standardprogramme" -> "Dateityp oder Protokoll einem Programm zuordnen" in Outlook geändert .

MAILTO ist weit unten in der Liste. Dieser Screenshot kann helfen.

Geben Sie hier die Bildbeschreibung ein

SamJackSon
quelle
Okay, aber was ist, wenn wir möchten, dass es auf einer bestimmten Website und nicht in einer App geöffnet wird?
Kyle Delaney
2
Unter Windows 10 musste ich Outlook in der linken Liste auswählen, bevor das Kontrollkästchen "Mailto" -Protokoll in der rechten Liste angezeigt wurde.
Tom McDonald
15

Ich habe dieses Problem auch festgestellt und es schließlich darauf zurückgeführt, dass sich mein Link innerhalb eines Iframes befand und meine Web-App https verwendet. Chrome blockierte es aus diesem Grund (Chrome öffnete andere Mailto-Links außerhalb des Iframes).

In mailto link, der nicht innerhalb eines Frame- Chroms (über https) funktioniert, erwähnte kendsnyder, dass er sich einfach ändert

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

zu

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

Voila, Problem gelöst. Dieser Mailto-Link funktioniert jetzt in allen Browsern.

rrudland
quelle
Ich bin gespannt, ob die Verwendung target=_parent"auch funktionieren würde. Guter Fund.
Termato
Vielen Dank. Hat super funktioniert. @Termato, es würde wahrscheinlich funktionieren, wenn es der "obere" Rahmen wäre. Verwenden Sie einfach target="_top"oder wenn Sie JavaScript verwenden:window.top.location.href = 'mailto:...'
Neil Monroe
Jetzt funktioniert target = "_ top" auch nicht :( eine alternative Problemumgehung. Ich habe es mit "_parent" versucht und es funktioniert auch nicht.
Vijay Mishra
target="_top"arbeitete für mich innerhalb eines Iframes in Google Chrome
John Doherty
@Basj funktioniert gut auf meinem (neuesten) Chrome. Haben Sie einen Standard-Mail-Client auf Ihrem Computer?
Thomas Ayoub
13

Sie müssen Google Mail erlauben, den Service-Handler für das Mailto-Protokoll zu installieren:

1) Gehen Sie zu Google Mail

2) Klicken Sie auf das kleine Rauten-Symbol am Ende der Adressleiste (Screenshot).

3) genießen

Geben Sie hier die Bildbeschreibung ein

jj_
quelle
Ich sehe so etwas nicht
Boris Gafurov
@BorisGafurov ist Ihre Chrome-Version auf dem neuesten Stand?
jj_
7

Sie können versuchen, zu gehen chrome://settings/handlersund den Wert für mailto:zu noneanstelle von festzulegengmail

Yuriy Galanter
quelle
7
Gleiches hier: Chrome 27 hat keinen Handler für Mailto definiert oder irgendetwas anderes für diese Angelegenheit. Seltsame, möglicherweise neue Sicherheitsstandards in Chrome. In FF musste ich es auch manuell hinzufügen.
Robert Hoffmann
Hier gilt das gleiche. Chrome ist im Grunde genommen für Mailto-Links kaputt
Peter Flynn
6

Fix, der bei mir funktioniert hat, da meine Protokollhandler leer waren

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

Siehe redfish43 Antwort, um es zusammenzufassen

Für mailto: - Stellen Sie sicher, dass Sie bei Google Mail angemeldet sind und das aktive Fenster Ihre Haupt-Google Mail-Seite ist (sonst passiert nichts). - Kopieren Sie diese / fügen Sie sie in die Adressleiste ein:

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

Fügen Sie das Javascript hinzu: bei Bedarf erneut nach vorne, da Chrome beim Einfügen wahrscheinlich alles zuvor und einschließlich des Doppelpunkts gekürzt hat. Drücken Sie dann die Eingabetaste.

Wenn das Popup-Fenster geöffnet wird, klicken Sie auf "Zulassen".

Benn
quelle
Was ist mit Outlook.com?
Kyle Delaney
3

Ich hatte das gleiche Problem. Das Problem, aus irgendeinem seltsamen Grund, hat Chrome sich selbst als Standardwerkzeug zum Öffnen eines mailto: -Links verwendet. Als Lösung setzen Sie Ihren E-Mail-Client als Standard-App, um ihn zu öffnen. Gewusst wie: http://windows.microsoft.com/en-nz/windows/change-default-programs#1TC=windows-7

Viel Glück

Jes
quelle
danke das war hilfreich, musste erfolglos alle höherrangigen ausprobieren bevor ich hier ankam :(.
Boris Gafurov
2

Ich habe diese Antwort in einem Google-Forum gefunden, das mir geholfen hat. In den Fußnoten wird 'googleapps.exe' erwähnt - ich habe das nicht und es hat immer noch funktioniert. Befolgen Sie einfach die nachstehenden Anweisungen, schließen Sie jedoch alle Anwendungen, bevor Sie Änderungen an der Registrierung vornehmen. Außerdem habe ich den vorhandenen Wert für den Fall gespeichert, dass er nicht funktioniert.


Geben Sie einfach "run" in Ihre Suchleiste ein, geben Sie "regedit" ein und reisen Sie zu:

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

Bearbeiten (Doppelklicken) "(Standard)" zu:

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

Das ist es! Speichern und schließen Sie es und es sollte wunderbar funktionieren!

Mit dieser Methode müssen Sie den GMail Notifier nicht herunterladen, den Benutzer von GTalk nicht benötigen, da er dies für uns tut. Ich bin mir nicht sicher, warum Google dieses Problem nicht einfach lösen kann. Ich habe gehört, dass Google Apps unter Windows 7 nicht vollständig getestet wurde, aber es ist offensichtlich, dass dasselbe Tag damit funktioniert.

Hinweis: Bei dieser Lösung müssen Sie lediglich die Datei googleapps.exe auf Ihrem Computer haben. Ich glaube, ich habe es mit meinem kostenlosen GooglePack von ihrer Website erhalten, die jetzt eingestellt wurde. Ich habe versucht, im Internet nach einer Möglichkeit zum Herunterladen zu suchen, aber seltsamerweise scheint es jetzt nur für Unternehmen reserviert zu sein, und es ist kein Download-Link im Internet verfügbar, da jeder, der es hat, es mit dem Google-Updater gestreamt hat. Wie auch immer - Viel Glück!

Mach1
quelle
1

Eine andere Lösung besteht darin, ein eigenes benutzerdefiniertes Popup- / Formular- / Benutzersteuerelement zu implementieren, das in allen Browsern universell interpretiert wird.

Zugegeben, dies wird die sofort einsatzbereiten "Mailto" -Funktionen nicht nutzen. Es hängt alles davon ab, gegen welche Verfügbarkeitseinhaltung Sie arbeiten. Leider für mich - das Mailto musste standardmäßig für alle verfügbar sein, ohne "den Kunden zu belästigen".

Ihre Entscheidung letztendlich.

Fenix
quelle
1

Überprüfen Sie unter macOS auch die Mail.app-Einstellungen, welche App als Standard-E-Mail-App ausgewählt / mit mailto:Links verknüpft ist:

Wenn Sie jemals auf diese Benachrichtigung in Google Mail geklickt haben, um Links in Google Mail anstelle Ihrer App zu öffnen, und nachdem Sie den Chrome-Handler zurückgesetzt haben , müssen Sie diese manuell in Ihren Mail.app-Einstellungen bearbeiten.

Bildschirmfoto

CodeBrauer
quelle
0

Das Übliche <a href="mailto:[email protected]"></a>sollte funktionieren, aber denken Sie daran, dass auf Ihrem Computer ein Standard-E-Mail-Programm eingestellt sein muss. Zum Beispiel verwende ich Ubuntu 14.04 und die Standard-E-Mail ist Thunderbird, was gut funktioniert.

Sheshank S.
quelle
0

"Chrome verwenden, Probleme einladen" - Anonym. (Nur eine symbolische Referenz)

Nun, Chrome ist bekannt dafür, dass es viele standardmäßige sicherheitsfähige Dienstprogramme gibt, und von dort stammt Ihr Problem.

Dies kann jedoch rückgängig gemacht werden, indem der Standard-E-Mail-Client festgelegt wird (da der Standard-E-Mail-Client nicht festgelegt ist) oder indem der Standard-Handler unter "chrome: // settings / handlers" eingerichtet wird (standardmäßig ist er auf "eingestellt"). Ignorieren').

user11768920
quelle
1
Ja, dies ist einer der häufigsten Gründe. Und die vorgeschlagene Lösung sollte auf jeden Fall funktionieren.
0

Ich habe das Problem mit diesem Code gelöst:

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

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

Es hat bei mir wie ein Zauber funktioniert!

Waleed Aldhahi
quelle
-3

Sie können auch so verwenden,

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

Ich denke, dies ist der beste Weg, um Chromprobleme zu lösen.

Vielen Dank..

Hiren Purohit
quelle
'0', nicht 'o' in void(). Dies schien für mich nicht sehr gut zu funktionieren. Gibt es noch etwas, das hinzugefügt werden muss?
Rob
-7

Bitte überprüfen Sie dies:

Dies funktioniert in Chrome und allen Browsern.

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

versuche und arbeite großartig.

Bharat Parmar
quelle