¿Los enlaces de Mailto no hacen nada en Chrome pero funcionan en Firefox?

149

Parece que el mailto enlaces que estamos incorporando en nuestro sitio web no hacen nada en Chrome, aunque funcionan en Firefox.

Ejemplo simple aquí: http://jsfiddle.net/wAPNH/

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

¿Necesitamos hacer algo especial para habilitar los enlaces de correo en Chrome?

Crashalot
fuente
Funciona bien para mí, ¿tienes algunas extensiones de Chrome o algo que pueda interferir?
Ryan Kempt
¿Qué aplicación se abre en FF cuando haces clic en el enlace mailto?
mohkhan
1
Intenté en Chrome 28 y ese enlace JSfiddle funcionó bien para mí (ejecutándose en una Mac, y abrí mail.app muy bien).
sasbury
Descubrí que hacer mailto:test%40test.comes más consistente
Pro Q

Respuestas:

128

Esta es la configuración específica del navegador, es decir, se comportará de manera diferente dependiendo de la configuración del navegador del usuario. El usuario puede cambiar el mailto:comportamiento de los enlaces en Chrome visitando chrome://settings/handlersoChrome Settings->Content Settings->Manage Handlers...

Si "correo electrónico" no aparece en esa página, consulte esta respuesta sobre cómo proceder.

kennypu
fuente
77
genial, ¿cuál es el comportamiento predeterminado?
Crashalot
8
Creo que lo predeterminado es ejecutar el cliente de correo en la computadora. Sé que en el trabajo correrá Thunderbird; si tienen instalado Outlook, puede ejecutar Outlook, etc. Personalmente, no ejecutó gmail de manera predeterminada, tuve que configurarlo de esa manera.
kennypu
2
@Crashalot no. un enlace de mailto es un enlace de mailto
kennypu
48
Abrir chrome: // settings / handlers me da un cuadro vacío sin opción de agregar un controlador. Parece que Chrome está muy dañado aquí: simplemente no abrirá mi correo configurado (Thunderbird) en respuesta a un enlace de correo electrónico.
Peter Flynn
3
@PeterFlynn parece que Chrome ahora intentará ejecutar el cliente de correo predeterminado instalado en la computadora. Asegúrese de que Thunderbird esté configurado como el cliente de correo predeterminado. Vea este enlace sobre cómo hacerlo: kb.mozillazine.org/Default_mail_client#Windows
kennypu
107

Esto se debe a que Chrome maneja el mailto de manera diferente. Puede ir chrome://settings/handlersy asegurarse de que es el controlador predeterminado. En su caso, será ninguno (es decir, no está en la lista). Ahora ve a gmail.com. Debería ver algo como esto cuando hace clic en el botón al lado del botón de marcador.

Establecer mailto en cromo

Si desea abrir todos los enlaces de correo electrónico a través de gmail, configure "Usar Gmail". Ahora, cuando hace clic en el botón mailto, Chrome se abrirá automáticamente en gmail.

Rajesh Hegde
fuente
1
Esto funcionó para mí, sin antes Gmail visiting y haciendo clic en el "Gmail permitirá ..." no había ningún controlador en la configuración de ser transformados,
chrismarx
1
Gmail ¿Qué tiene que ver Gmail con esto? Quiero que Chrome abra Thunderbird en lugar de abrir una nueva instancia de Chrome.
Peter Flynn
Vaya a chrome: // settings / handlers para configurar su controlador.
Rajesh Hegde
1
@ Gi1ber7 Puede ir a chrome: // settings / handlers para cambiar la configuración de mailto.
Rajesh Hegde
1
No tengo controladores allí. wth
Boris Gafurov
42

En mi caso, Chrome se asoció como protocolo MAILTO en Windows 10 .

Cambié la asociación a Outlook usando "Programas predeterminados" -> "Asociar un tipo de archivo o protocolo con un programa" .

MAILTO está muy por debajo de la lista. Esta captura de pantalla puede ayudar.

ingrese la descripción de la imagen aquí

SamJackSon
fuente
De acuerdo, pero ¿qué pasa si queremos que se abra en un sitio web específico en lugar de una aplicación?
Kyle Delaney
2
Con Windows 10, tuve que seleccionar Outlook en la lista de la izquierda antes de que pudiera ver la casilla de verificación del protocolo 'mailto' en la lista de la derecha.
Tom McDonald
15

También experimenté este problema, y ​​finalmente lo rastreé hasta el hecho de que mi enlace estaba dentro de un iframe, y mi aplicación web usa https. Chrome lo estaba bloqueando debido a esto (Chrome abriría otros enlaces mailto fuera del iframe).

En mailto link no funciona dentro de un marco de cromo (sobre https) , kendsnyder mencionó simplemente cambiar

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

a

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

Voila, problema resuelto. Ese enlace mailto ahora funciona en todos los navegadores.

rrudland
fuente
Tengo curiosidad por saber si usar target=_parent"también funcionaría. Buen descubrimiento.
Termato
Gracias. Funcionó muy bien. @Termato, probablemente funcionaría si fuera el marco "superior". Solo use target="_top"o si usa JavaScript:window.top.location.href = 'mailto:...'
Neil Monroe
Ahora target = "_ top" tampoco funciona :( cualquier solución alternativa. Intenté con "_parent" y tampoco funciona.
Vijay Mishra
target="_top"funcionó para mí dentro de un iframe en Google Chrome
John Doherty
@Basj funciona bien en mi (más reciente) Chrome. ¿Tiene un cliente de correo predeterminado en su computadora?
Thomas Ayoub
13

Debe permitir que gmail instale el controlador de servicio para el protocolo mailto:

1) ir a gmail

2) haga clic en el pequeño icono de rombo al final de la barra de direcciones (captura de pantalla)

3) disfruta

ingrese la descripción de la imagen aquí

jj_
fuente
No veo tal cosa
Boris Gafurov
@BorisGafurov, ¿está actualizada su versión de Chrome?
jj_
7

Puede intentar ir a chrome://settings/handlersy establecer el valor para mailto:a en nonelugar degmail

Yuriy Galanter
fuente
77
Lo mismo aquí: Chrome 27 no tiene un controlador para mailto definido o cualquier otra cosa para ese asunto ... extraño, tal vez nuevo valor predeterminado de seguridad en Chrome. En FF tuve que agregarlo manualmente también.
Robert Hoffmann
Igual que aquí. Chrome está básicamente roto wrt mailto links
Peter Flynn
6

Solución que funcionó para mí ya que mis controladores de protocolo estaban vacíos

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

Ver la respuesta de redfish43, para resumir

Para mailto: - Asegúrese de haber iniciado sesión en Gmail y que la ventana activa sea su página principal de Gmail (o no pasará nada). - Copie / pegue esto en la barra de direcciones:

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

Agregue javascript: al frente nuevamente si es necesario, porque cuando lo pegó, Chrome probablemente recortó todo antes e incluso los dos puntos. Luego presiona enter.

Cuando se abra la ventana emergente, haga clic en "Permitir"

Benn
fuente
¿Qué pasa con outlook.com?
Kyle Delaney
3

Yo tuve el mismo problema. El problema, por alguna extraña razón, Chrome se convirtió en la herramienta predeterminada para abrir un mailto: enlace. La solución es poner su cliente de correo como la aplicación predeterminada para abrirlo. Cómo: http://windows.microsoft.com/en-nz/windows/change-default-programs#1TC=windows-7

Buena suerte

Jes
fuente
gracias esto fue útil, tuve que probar sin éxito todos los de mayor rango antes de llegar aquí :(.
Boris Gafurov
2

Encontré esta respuesta en un foro de Google que me ha funcionado. En las notas al pie se menciona 'googleapps.exe': no ​​tengo esto y aún funciona. Simplemente siga las instrucciones a continuación, pero cierre todas las aplicaciones antes de realizar cambios en el Registro. También guardé el valor existente en caso de que no funcionara.


Simplemente escriba "ejecutar" en su barra de búsqueda, luego escriba "regedit" y luego viaje a:

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

editar (doble clic) "(Predeterminado)" para:

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

¡Eso es! ¡Guárdelo y ciérrelo y debería funcionar perfectamente!

El uso de este método evita que tenga que descargar el notificador de GMail, que para aquellos de nosotros con GTalk no necesitamos, ya que lo hace por nosotros. No estoy seguro de por qué Google no puede resolver este problema fácilmente. He oído que Google Apps no se ha probado completamente en Windows 7, pero es obvio que la misma etiqueta funciona con él.

Nota: Lo único con esta solución es que necesita tener el archivo googleapps.exe en su máquina. Creo que lo obtuve con mi GooglePack gratuito de su sitio que ahora ha sido descontinuado. Intenté buscar en la red una forma de descargarlo, pero por extraño que parezca, ahora está reservado solo para empresas y no hay un enlace de descarga disponible desde la web porque todos los que lo tienen lo transmitieron usando el actualizador de Google. Extraño. ¡De todos modos, buena suerte!

Mach1
fuente
1

Otra solución es implementar su propio control emergente / formulario / usuario personalizado que se interpretará universalmente en todos los navegadores.

De acuerdo, esto no aprovechará las capacidades listas para usar "mailto". Todo depende de con qué adherencia de disponibilidad esté trabajando. Desafortunadamente para mí, el mailto tenía que estar disponible para todos por defecto sin "molestar al cliente".

Su decisión en última instancia.

fenix
fuente
1

En macOS, verifique también la configuración de Mail.app, qué aplicación está seleccionada como aplicación de correo electrónico predeterminada / asociada conmailto: enlaces:

Si alguna vez hizo clic en esa notificación en Gmail, que permite abrir enlaces en Gmail en lugar de su aplicación, y después de restablecer el controlador de Chrome , debe editarlo manualmente en la Configuración de Mail.app.

Captura de pantalla

CodeBrauer
fuente
0

Lo habitual <a href="mailto:[email protected]"></a>debería funcionar, pero recuerde que debe tener un programa de correo electrónico predeterminado configurado en su computadora. Por ejemplo, estoy usando Ubuntu 14.04 y el correo electrónico predeterminado es Thunderbird, que funciona bien.

Sheshank S.
fuente
0

'Usar Chrome, invitar problemas' - Anónimo. (Solo una referencia simbólica)

Bueno, Chrome es notoriamente famoso por una gran cantidad de utilidades predeterminadas habilitadas para seguridad, y ahí es donde se origina su problema.

Sin embargo, esto se puede deshacer 'configurando el cliente de correo electrónico predeterminado' (ya que el cliente de correo electrónico predeterminado no está configurado), o configurando el controlador predeterminado en 'chrome: // settings / handlers' (de forma predeterminada, está configurado en ' Ignorar').

usuario11768920
fuente
1
Sí, esta es una de las razones más frecuentes. Y, la solución sugerida ciertamente debería funcionar.
0

Resolví el problema usando este código:

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

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

¡Funcionó para mí como un encanto!

Waleed Aldhahi
fuente
-3

Puedes usar así también,

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

Creo que esta es la mejor manera de resolver los problemas de Chrome.

Gracias..

Hiren Purohit
fuente
'0', no 'o' adentro void(). Esto no pareció funcionar muy bien para mí. ¿Hay algo más que deba agregarse?
Rob
-7

Por favor verifíquelo esto:

Esto está funcionando en Chrome y todos los navegadores.

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

intenta y trabaja de maravilla.

Bharat Parmar
fuente