Me gustaría invocar un mailto enlace de JavaScript que es el que me gustaría un método que me permite abrir el cliente de correo electrónico en el los usuarios de PC, exactamente como si se hubiera hecho clic en un enlace de correo.

¿Cómo puedo hacer esto?

InformationsquelleAutor Justin | 2010-10-05

4 Comentarios

  1. 125

    Puede utilizar window.location.href aquí, como este:

    window.location.href = "mailto:[email protected]";
    • y cómo puedo anexar un cuerpo? mailto:[email protected]?body=myBody y mailto:[email protected]&myBody no trabajo para mí…
    • realmente útil respuesta. gracias.
    • esto no funciona en todos los navegadores por ahí, ¡ten cuidado! 😉
    • ¿puede por favor explicar más? Cuál es el navegador que has probado y no funcionó?
    • de lo que recuerdo no funciona con Opera y tal vez más de los navegadores. Dependiendo de sus necesidades, usted podría ser capaz de solución de ese problema.
    • No funciona con chrome
    • Acabo de probar en la última estable de chrome, sigue trabajando.
    • Así no funciona. Chrome 28.0.1500.72 m (última versión estable)
    • Yo sólo probé en Chrome 35 y su trabajo fino
    • Se puede hacer sin abrirlas en una pestaña nueva o cambiar ninguna ventana visible contenido: de la ventana.ubicación.href = «tel:+4812345»; ?
    • La ópera 27.0 funcionando bien
    • Max, es probable que usted di cuenta de esto, pero para los lectores futuros: window.location.href = 'mailto:[email protected]&subject=Hello there&body=This is the body';. No ? y no &, sólo &
    • trabajo en Chrome 57.0.2987.133 (64-bit)
    • esto no funciona en chrome 🙁

  2. 9

    Puede evitar que la página en blanco asunto discutido anteriormente en lugar de utilizar .haga clic en() con un enlace en la página:

    document.getElementById('mymailto').click();
    ...
    <a href="mailto:...." id="mymailto" style="display:none"></a>
    • He intentado esto: ` Llamada a la función(){ document.getElementById(‘mymailto’).haga clic en(); } <a href=»tel:+48123456″ id=»mymailto» style=»display:none»></a>` y la nueva ficha todavía se abre.
  3. 2

    el trabajo de responder para mí, probado en chrome, IE y firefox junto con outlook fue este

    window.location.href = 'mailto:[email protected]?subject=Hello there&body=This is the body';

    %0d%0a es el nuevo símbolo de línea del cuerpo del correo electrónico en un enlace de correo

    %20 es el símbolo del espacio que debe ser utilizado, pero a mí me funcionó así con el espacio normal

  4. 0

    De hecho, hay un possibillity para evitar el vacío de la página.

    Me enteré, usted puede simplemente insertar un iframe con el enlace de correo en el dom.
    Esto funciona en la actual Firefox/Chrome y el IE (también internet explorer mostrará un breve diálogo confirmar).

    Usando jQuery, tengo esto:

    var initMailtoButton = function()
    {
        var iframe = $('<iframe id="mailtoFrame" src="mailto:[email protected]" 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);
    
            });
        }
    }

Dejar respuesta

Please enter your comment!
Please enter your name here