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:test@test.com'>hi this is a test</a>

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


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.


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.


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


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.


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


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


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"


E o outlook.com?
Kyle Delaney


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!


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.


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


0

O usual <a href="mailto:hi@hi.com"></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.


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').


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:aaaaaa@aaaaaa.net', '_blank');
}
</script>

Funcionou para mim como um encanto!


-3

Você pode usar assim também,

<a href="javascript:void(0);" onclick="javascript:window.location.href='mailto:info@example.com'; return false;">info@example.com</a>

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

Obrigado..


'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:test.test@gmail.com">Test</a>

tente e trabalhando em grande.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.