Para crear un enlace mailto con asunto y cuerpo, escribe mailto: y la dirección, después ?subject= y &body= con cada valor codificado en porcentaje: los espacios pasan a %20, los saltos de línea a %0A (o %0D%0A) y un & dentro del texto a %26. Por ejemplo: mailto:soporte@example.com?subject=Reembolso&body=Hola%2C. La forma más rápida de no equivocarte con la codificación es nuestro generador de enlaces mailto gratis: rellenas los campos, haces clic fuera del último y copias el enlace.
El generador es gratis, funciona en tu navegador y no necesitas cuenta para empezar. Los visitantes tienen 5 usos de herramientas al día, y una cuenta gratuita de My Botsy (100 % gratis, sin spam) elimina ese límite diario. Todos los enlaces de esta guía se generaron el 30 de octubre de 2026 escribiendo los datos en la herramienta con Chrome, y los resultados están copiados tal cual salieron.
Cómo se arma un enlace mailto
El formato lo define la RFC 6068. Un enlace mailto tiene tres partes:
- El esquema y el destinatario:
mailto:soporte@example.com. Varios destinatarios se separan con comas, y el destinatario se puede omitir. - Un signo de interrogación que abre la lista de campos.
- Campos unidos con
&:cc=,bcc=(copia oculta),subject=(asunto) ybody=(cuerpo). Cada valor se codifica por separado.
Hacer clic en el enlace no envía nada. Le pide al dispositivo del visitante que abra su app de correo predeterminada con un mensaje nuevo ya rellenado, y la persona lo revisa y pulsa Enviar. Esa es la gran diferencia con un formulario de contacto, y por eso los enlaces mailto funcionan tan bien para pedidos de soporte, presupuestos y botones de "compartir por correo".
Cómo crear un enlace mailto paso a paso
- Abre el generador de enlaces mailto.
- Escribe el destinatario en el campo Para. Déjalo vacío si quieres que el visitante elija a quién enviarlo (útil para enlaces de compartir).
- Añade CC y CCO si los necesitas. Separa las direcciones con una coma y sin espacio.
- Escribe el asunto y el cuerpo como texto normal. Pulsa Intro para los saltos de línea; la herramienta los codifica por ti.
- Haz clic fuera del último campo que editaste. El enlace se regenera cuando un campo pierde el foco, no con cada tecla. En nuestra prueba, el cuerpo recién escrito no aparecía en el resultado hasta que hicimos clic en otra parte de la página.
- Copia el resultado con el botón de copiar y pruébalo: haz clic en él en una computadora y tócalo en un móvil antes de publicarlo.
Ejemplos resueltos (resultados reales)
Ejemplo 1: enlace de soporte con el cuerpo ya escrito
Datos: Para soporte@example.com, asunto Solicitud de reembolso - pedido #4821, cuerpo en cinco líneas:
Hola:
Quisiera el reembolso del pedido #4821.
Gracias,
Ana
Resultado:
mailto:soporte@example.com?subject=Solicitud%20de%20reembolso%20-%20pedido%20%234821&body=Hola%3A%0A%0AQuisiera%20el%20reembolso%20del%20pedido%20%234821.%0A%0AGracias%2C%0AAna
Fíjate en el #: pasó a %23. Sin codificar, todo lo que va detrás se leería como un fragmento de URL y el asunto se cortaría en "pedido ". Las líneas vacías quedaron como %0A%0A, los dos puntos como %3A y la coma como %2C.
Ejemplo 2: un presupuesto con CC, CCO y símbolos
Datos: Para ventas@example.com, CC ana@example.com, ben@example.com, CCO crm@example.com, asunto Presupuesto: 3 usuarios y alta, cuerpo:
Empresa: Pérez & Hijos
Plan: Equipo + Alta
Pago: 50% ahora, 50% a la entrega
Resultado:
mailto:ventas@example.com?cc=ana@example.com, ben@example.com&bcc=crm@example.com&subject=Presupuesto%3A%203%20usuarios%20y%20alta&body=Empresa%3A%20P%C3%A9rez%20%26%20Hijos%0APlan%3A%20Equipo%20%2B%20Alta%0APago%3A%2050%25%20ahora%2C%2050%25%20a%20la%20entrega
Aquí importan tres detalles. El & de "Pérez & Hijos" pasó a %26, así que no se confunde con el inicio de otro campo. El + pasó a %2B; un signo más sin codificar se lee como espacio en los analizadores de tipo formulario (lo comprobamos: URLSearchParams de JavaScript lee a+b como a b). Y 50% quedó como 50%25. La é de Pérez se convirtió en sus bytes UTF-8, %C3%A9. El campo CC, en cambio, se copia tal como lo escribiste, con el espacio después de la coma. Chrome convierte ese espacio en %20 al leer el enlace, pero puede romperlo si lo pegas como texto plano, así que escribe ana@example.com,ben@example.com.
Ejemplo 3: enlace para "compartir por correo" sin destinatario
Datos: Para vacío, asunto Herramienta gratis: enlaces mailto, cuerpo Te va a servir: https://mybotsy.com/es/mailto-link-generator?utm_source=email&utm_medium=share.
mailto:?subject=Herramienta%20gratis%3A%20enlaces%20mailto&body=Te%20va%20a%20servir%3A%20https%3A%2F%2Fmybotsy.com%2Fes%2Fmailto-link-generator%3Futm_source%3Demail%26utm_medium%3Dshare
La URL dentro del cuerpo se codificó entera, incluidos su propio ?, = y &. Es lo correcto: si no, utm_medium=share se convertiría en un campo aparte del mailto y desaparecería del mensaje. Las etiquetas UTM te muestran en Google Analytics cuántas visitas llegaron de gente que compartió por correo; créalas con el generador de enlaces UTM (nuestra guía de UTM para GA4 explica qué valores usar).
Ejemplo 4: tildes, ñ y signos de apertura
El asunto Consulta sobre envío ¿cuándo llega? salió como Consulta%20sobre%20env%C3%ADo%20%C2%BFcu%C3%A1ndo%20llega%3F. Cada carácter se codifica con sus bytes UTF-8, como pide la RFC 6068: la í es %C3%AD y el ¿ es %C2%BF. La app de correo vuelve a mostrar el texto original. Los apóstrofos, en cambio, no se tocan, porque son un carácter válido en una URL.
Cómo ponerlo en tu web
El generador te da el enlace; tú lo envuelves en una etiqueta <a>:
<a href="mailto:soporte@example.com?subject=Reembolso&body=Hola%2C%0A%0AN%C3%BAmero%20de%20pedido%3A%20">Pedir un reembolso</a>
Escribir el separador entre campos como & en el código HTML es la forma estrictamente válida, y el navegador lo vuelve a convertir en &. Un & simple también funciona en la práctica. Lo que nunca debes hacer es cambiar el %26 de tu texto por &: son dos capas distintas.
Algunos lugares donde un enlace mailto rinde de verdad:
- Firmas de correo: un enlace "Agendar una llamada" con el asunto ya puesto. El generador de firmas de correo arma el resto de la firma.
- Páginas de precios: un cuerpo con huecos ("Empresa:", "Usuarios:") para que los pedidos lleguen con los datos que necesitas.
- PDF y facturas: un enlace que abre una respuesta a administración con el número de factura en el asunto.
- Alternativa al chat: combínalo con un botón de WhatsApp para quien prefiere mensajes (mira cómo crear un enlace de WhatsApp).
Errores comunes
- Codificar el enlace entero. Si pasas toda la cadena por un codificador de URL,
mailto:se vuelvemailto%3Ay deja de ser un enlace. Codifica solo los valores. Si necesitas codificar una parte a mano, pega solo esa parte en el codificador de URL. - Usar
+para los espacios. Algunas apps muestran un signo más literal. Usa%20. - Un segundo signo de interrogación. Solo el primer
?abre los campos; los siguientes se unen con&.?subject=Hola?body=Graciasmete "Hola?body=Gracias" en el asunto. - Atributos HTML con comillas simples. El generador no codifica los apóstrofos, así que
href='mailto:...con un apóstrofo dentro del texto cierra el atributo antes de tiempo. Usa comillas dobles o cambia'por%27. - Saltos de línea CRLF. La RFC 6068 escribe los saltos de línea del cuerpo como
%0D%0A. El generador produce%0A, que es como el navegador guarda los saltos que escribes. Si alguna app de correo junta tus líneas, cambia cada%0Apor%0D%0A. - Cuerpos muy largos. El estándar no fija un límite, pero algunas apps y navegadores recortan los enlaces largos. Deja el cuerpo como una plantilla corta y que la persona escriba el resto.
- Dar por hecho que todos tienen app de correo. En una computadora compartida o un móvil sin app de correo configurada, el clic no hace nada o abre una app que el visitante no usa. Quien usa el correo web en el navegador tiene que configurarlo antes como gestor de mailto. Muestra siempre la dirección también como texto al lado del enlace.
- Spam. Un enlace mailto deja la dirección visible en el código de la página, y los bots las recolectan. En páginas con mucho tráfico, usa una dirección genérica que puedas filtrar o un formulario.
Revisa un enlace mailto que hizo otra persona
Para leer un enlace largo y codificado, pega solo la parte que va después de subject= o body= en el decodificador de URL. Verás el texto plano, y los %0A sueltos, los %26 que faltan o los %2520 de doble codificación saltan a la vista.
Crea tu enlace ahora
Abre el generador de enlaces mailto, completa el asunto y el cuerpo, haz clic fuera del último campo y copia. ¿También necesitas un enlace de chat? El generador de enlaces de WhatsApp funciona igual. Los dos son gratis, funcionan en tu navegador y no necesitas cuenta para empezar.
Preguntas frecuentes
¿Cómo pongo asunto y cuerpo en un enlace mailto?
Añade ?subject= después de la dirección y luego &body= para el mensaje, con ambos valores codificados: mailto:hola@example.com?subject=Presupuesto&body=Hola%2C. Un generador de enlaces mailto hace la codificación por ti.
¿Cómo hago un salto de línea en el cuerpo de un mailto?
Codifícalo como %0D%0A (la forma de la RFC 6068) o %0A. En nuestro generador solo pulsas Intro en el campo del cuerpo, y cada salto sale como %0A.
¿Un enlace mailto puede tener varios destinatarios?
Sí. Separa las direcciones con comas y sin espacios, por ejemplo mailto:ana@example.com,ben@example.com. Lo mismo vale para los campos cc y bcc.
¿Por qué no funciona mi enlace mailto?
Casi siempre porque el visitante no tiene una app de correo predeterminada o porque el enlace lleva caracteres sin codificar: un # sin codificar corta el asunto y un & dentro del texto lo parte en un campo nuevo. Codifica los valores y prueba en una computadora y en un móvil.
¿Puedo hacer un enlace mailto sin dirección de correo?
Sí. mailto:?subject=...&body=... abre un mensaje nuevo con el campo Para vacío, y el visitante elige el destinatario. Así funcionan los botones de compartir por correo.
¿El generador de enlaces mailto de My Botsy es gratis?
Sí. Es gratis y funciona en tu navegador. Los visitantes tienen 5 usos al día sin cuenta, y una cuenta gratuita de My Botsy, sin spam, elimina ese límite diario.