Os links do Mailto não fazem nada no Chrome, mas funcionam no Firefox?

149

Parece que os mailtolinks que estamos incorporando em nosso site não fazem nada no Chrome, embora funcionem no Firefox.

Exemplo simples aqui: http://jsfiddle.net/wAPNH/

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

Precisamos fazer algo especial para ativar os links de email no Chrome?

Crashalot
fonte
Funciona bem para mim. Você tem algumas extensões do Chrome ou algo que possa interferir?
Ryan Kempt
Qual aplicativo é aberto no FF quando você clica no link mailto?
mohkhan
1
Eu tentei no chrome 28 e esse link JSfiddle funcionou bem para mim (rodando em um mac e abrindo o mail.app muito bem).
sasbury
Eu descobri que fazer mailto:test%40test.comé mais consistente
Pro Q

Respostas:

128

Isso é específico das configurações do navegador, ou seja, se comportará de maneira diferente, dependendo das configurações do navegador do usuário. O usuário pode alterar a forma como os mailto:links se comportam no chrome visitando chrome://settings/handlersouChrome Settings->Content Settings->Manage Handlers...

Se "email" não estiver listado nessa página, consulte esta resposta sobre como proceder.

kennypu
fonte
7
ótimo, qual é o comportamento padrão?
Crashalot
8
Eu acredito que o padrão é executar o cliente de email no computador. Eu sei que no trabalho, ele rodará Thunderbird; se eles têm o Outlook instalado, ele pode executar o Outlook, etc. Pessoalmente, ele não executava o Gmail por padrão, eu tinha que configurá-lo dessa maneira.
Kennypu
2
@Crashalot nope. um mailto link é um link mailto
kennypu
48
A abertura do chrome: // settings / handlers fornece uma caixa vazia sem opção para adicionar um manipulador. Parece que o Chrome está muito quebrado aqui: ele simplesmente não abre minha mala direta configurada (Thunderbird) em resposta a um link mailto.
22613 Peter Flynn
3
@ PeterFlynn, parece que o chrome agora tentará executar o cliente de email padrão instalado no computador. Verifique se o thunderbird está definido como o cliente de email padrão. Veja este link sobre como fazer isso: kb.mozillazine.org/Default_mail_client#Windows
kennypu
107

Isso ocorre porque o chrome lida com o mailto de maneira diferente. Você pode acessar chrome://settings/handlerse certificar-se de qual é o manipulador padrão. No seu caso, não será nenhum (ou seja, não listado). Agora vá para gmail.com. Você deve ver algo assim quando clicar no botão ao lado do botão de marcador.

Definir mailto no chrome

Se você deseja abrir todos os links de e-mail pelo gmail, defina "Usar o Gmail". Agora, quando você clica no botão mailto, o chrome é aberto automaticamente no gmail.

Rajesh Hegde
fonte
1
Isso funcionou para mim, sem primeiro gmail visting e clicando no "gmail permitir que ..." não havia nenhum manipulador nas configurações para ser changed-
chrismarx
1
Gmail? O que o Gmail tem a ver com isso? Quero que o Chrome abra o Thunderbird em vez de abrir uma nova instância do Chrome.
22613 Peter Flynn
Vá para chrome: // settings / manipuladores para definir seu manipulador.
Rajesh Hegde
1
@ Gi1ber7 Você pode acessar chrome: // settings / handlers para alterar a configuração mailto.
Rajesh Hegde
1
eu não tenho manipuladores lá. wth
Boris Gafurov 29/11
42

No meu caso, o chrome foi associado como protocolo MAILTO no Windows 10 .

Alterei a associação para o Outlook usando "Programas padrão" -> "Associar um tipo de arquivo ou protocolo a um programa" .

MAILTO está bem abaixo na lista. Essa captura de tela pode ajudar.

insira a descrição da imagem aqui

SamJackSon
fonte
Ok, mas e se queremos que ele seja aberto em um site específico, e não em um aplicativo?
Kyle Delaney
2
Usando o Windows 10, tive que selecionar o Outlook na lista à esquerda antes de poder ver a caixa de seleção do protocolo 'mailto' na lista à direita.
Tom McDonald
15

Também experimentei esse problema e, eventualmente, o localizei até o fato de que meu link estava dentro de um iframe e meu aplicativo Web usa https. O Chrome estava bloqueando-o devido a isso (o Chrome abriria outros links mailto fora do iframe).

No link mailto não funciona em um frame chrome (sobre https) , kendsnyder mencionou simplesmente mudar

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

para

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

Voila, problema resolvido. Esse link mailto agora funciona em todos os navegadores.

Rudrland
fonte
Estou curioso para saber se o uso target=_parent"também funcionaria. Boa descoberta.
Termato 15/01
Obrigado. Trabalhou muito bem. @Termato, provavelmente funcionaria se fosse o quadro "superior". Basta usar target="_top"ou se você estiver usando JavaScript: #window.top.location.href = 'mailto:...'
291 Neil Monroe
Agora target = "_ top" também não está funcionando :( qualquer solução alternativa que eu tentei com "_parent" e ele não está funcionando também..
Vijay Mishra
target="_top"trabalhou para mim dentro de um iframe no Google Chrome
John Doherty
O @Basj funciona bem no meu (mais recente) Chrome. Você tem um cliente de email padrão no seu computador?
Thomas Ayoub
13

Você precisa permitir que o gmail instale o manipulador de serviço para o protocolo mailto:

1) vá para o gmail

2) clique no ícone pequeno losango no final da barra de endereço (captura de tela)

3) aproveite

insira a descrição da imagem aqui

jj_
fonte
i ver nenhuma coisa a
Boris Gafurov
@BorisGafurov, sua versão do Chrome está atualizada?
jj_
7

Você pode tentar acessar chrome://settings/handlerse definir o valor para mailto:em nonevez degmail

Yuriy Galanter
fonte
7
O mesmo aqui: chrome 27 não possui manipulador para mailto definido ou qualquer outra coisa para esse assunto .. estranho, talvez um novo padrão de segurança no chrome. No FF eu tive que adicioná-lo manualmente também.
Robert Hoffmann
O mesmo aqui. Chrome é basicamente quebrado wrt links mailto
Peter Flynn
6

Correção que funcionou para mim, pois meus manipuladores de protocolo estavam vazios

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

Veja redfish43 resposta, para resumir

Para mailto: - Verifique se você está conectado ao Gmail e se a janela ativa é a sua página principal do Gmail (ou nada acontecerá). - Copie / cole isso na barra de endereço:

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

Adicione o javascript: à frente novamente, se necessário, porque quando você o colava, o Chrome provavelmente aparava tudo antes e incluindo os dois pontos. Em seguida, pressione enter.

Quando a janela pop-up abrir, clique em "Permitir"

Benn
fonte
E o outlook.com?
Kyle Delaney
3

Eu tive o mesmo problema. O problema, por alguma estranha razão, o Chrome se tornou a ferramenta padrão para abrir um link mailto:. A solução, coloque seu cliente de email como o aplicativo padrão para abri-lo. Como: http://windows.microsoft.com/en-nz/windows/change-default-programs#1TC=windows-7

Boa sorte

Jes
fonte
obrigado isso foi útil, tive que tentar, sem sucesso, todos os de ranking mais alto antes de eu chegar aqui :(.
Boris Gafurov
2

Encontrei esta resposta em um fórum do Google que me funcionou. Nas notas de rodapé, ele menciona 'googleapps.exe' - não tenho isso e ainda funcionou. Simplesmente siga as instruções abaixo, mas feche todos os aplicativos antes de fazer alterações no Registro. Também salvei o valor existente para o caso de não funcionar.


Basta digitar "run" na barra de pesquisa, digite "regedit" e, em seguida, vá para:

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

edite (clique duas vezes) "(Padrão)" para:

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

É isso aí! Salve e feche-o e deve funcionar lindamente!

O uso desse método evita que você precise fazer o download do GMail Notifier, que para nós, com o GTalk, não é necessário, pois é necessário. Não sei por que o Google não pode resolver esse problema facilmente. Ouvi dizer que o Google Apps não foi totalmente testado no Windows 7, mas é óbvio que a mesma tag funciona com ele.

Nota: A única coisa com esta solução é que você precisa do arquivo googleapps.exe em sua máquina. Acredito que o recebi com meu GooglePack gratuito no site deles, que foi descontinuado. Tentei pesquisar na net uma maneira de fazer o download, mas, estranhamente, parece que está reservado apenas para empresas agora e não há link para download disponível na Web porque todos os que a transmitiram usando o atualizador do Google ... Odd. De qualquer forma, boa sorte!

Mach1
fonte
1

Outra solução é implementar seu próprio pop-up / formulário / controle de usuário personalizado que será universalmente interpretado em todos os navegadores.

Concedido isso não alavancará os recursos prontos para uso "mailto". Tudo depende de qual aderência à disponibilidade você está trabalhando. Infelizmente para mim - o mailto precisava estar disponível para todos por padrão sem "incomodar o cliente".

Sua decisão em última análise.

Fênix
fonte
1

No macOS, verifique também as configurações Mail.app, qual aplicativo está selecionado como aplicativo de email padrão / associado aos mailto:links:

Se você clicou nessa notificação no Gmail, que permite abrir links no Gmail em vez do seu aplicativo - e depois disso redefinir o manipulador do Chrome , você deve editá-lo manualmente nas configurações do Mail.app.

Captura de tela

CodeBrauer
fonte
0

O usual <a href="mailto:[email protected]"></a>deve funcionar, mas lembre-se de que você deve ter um programa de email padrão definido no seu computador. Por exemplo, estou usando o Ubuntu 14.04 e o email padrão é thunderbird, o que funciona bem.

Sheshank S.
fonte
0

'Use o Chrome, convide problemas' - Anônimo. (Apenas uma referência simbólica)

Bem, o Chrome é notoriamente famoso por muitos utilitários padrão habilitados para segurança, e é daí que o problema se origina.

No entanto, isso pode ser desfeito 'definindo o cliente de email padrão' (como o cliente de email padrão não está definido) ou configurando o manipulador padrão em 'chrome: // settings / handlers' (por padrão, está definido como ' Ignorar').

user11768920
fonte
1
Sim, esse é um dos motivos mais frequentes. E, a solução sugerida certamente deve funcionar.
0

Eu resolvi o problema usando este código:

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

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

Funcionou para mim como um encanto!

Waleed Aldhahi
fonte
-3

Você pode usar assim também,

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

Eu acho que essa é a melhor maneira de resolver problemas de cromo.

Obrigado..

Hiren Purohit
fonte
'0', não 'o' in void(). Isso não pareceu funcionar muito bem para mim. Há mais alguma coisa que precisa ser adicionada?
29413 Rob
-7

Por favor, verifique isto:

Isso está funcionando no Chrome e em todos os navegadores.

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

tente e trabalhando em grande.

Bharat Parmar
fonte