Pergunta

Eu gostaria de invocar um Mailto Link do JavaScript - ou seja, eu gostaria de um método que me permita abrir o cliente de email no PC dos usuários, exatamente como se tivessem clicado em um link de e -mail normal.

Como posso fazer isso?

Foi útil?

Solução

Você pode usar window.location.href Aqui, assim:

window.location.href = "mailto:address@dmail.com";

Outras dicas

Você pode evitar o problema da página em branco discutida acima, usando .Click () com um link na página:

document.getElementById('mymailto').click();
...
<a href="mailto:...." id="mymailto" style="display:none"></a>

A resposta de trabalho para mim, testada em Chrome, IE e Firefox junto com o Outlook foi este

window.location.href = 'mailto:address@dmail.com?subject=Hello there&body=This is the body';

%0d%0a é o novo símbolo de linha do corpo de e -mail em um link de e -mail

%20 é o símbolo espacial que deve ser usado, mas funcionou para mim também com espaço normal

Na verdade, existe uma possibilidade de evitar a página vazia.

Eu descobri, você pode simplesmente inserir um iframe com o link de correio no DOM. Isso funciona no Firefox/Chrome atual (o IE também exibirá uma caixa de diálogo de confirmação curta).

Usando o jQuery, entendi o seguinte:

var initMailtoButton = function()
{
    var iframe = $('<iframe id="mailtoFrame" src="mailto:name@domain.com" width="1" height="1" border="0" frameborder="0"></iframe>');
    var button = $('#mailtoMessageSend');    
    if (button.length > 0) {            
        button.click(function(){
            // create the iframe
            $('body').append(iframe);
            //remove the iframe, we don't need it any more
            window.setTimeout(function(){
                iframe.remove();    
            }, 500);

        });
    }
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top