¿Es posible establecer el asunto / contenido del correo electrónico cuando uso mailto :?
¿Es posible establecer el asunto / contenido del correo electrónico cuando uso mailto :?
Respuestas:
Sí, mira todos los consejos y trucos con mailto: http://www.angelfire.com/dc/html-webmaster/mailto.htm
Ejemplo de asunto mailto:
<a href="mailto:no-one@snai1mai1.com?subject=free chocolate">example</a>
mailto con contenido:
<a href="mailto:no-one@snai1mai1.com?subject=look at this website&body=Hi,I found this website and thought you might like it http://www.geocities.com/wowhtml/">tell a friend</a>
Como se aludió en los comentarios, ambos subject
y se body
deben escapar correctamente. Úselo encodeURIComponent(subject)
en cada uno, en lugar de la codificación manual para casos específicos.
Como Hoody mencionó en los comentarios, puede agregar saltos de línea agregando la siguiente secuencia codificada en la cadena:
%0D%0A // one line break
<a href="mailto:manish@simplygraphix.com?subject=Feedback for
webdevelopersnotes.com&body=The Tips and Tricks section is great
&cc=anotheremailaddress@anotherdomain.com
&bcc=onemore@anotherdomain.com">Send me an email</a>
puede usar este código para establecer asunto, cuerpo, cc, bcc
El mailto:
esquema de URL se define en RFC 2368 . Además, la convención para codificar información en URL y URI se define en RFC 1738 y luego en RFC 3986 . Estos prescriben cómo incluir los encabezados body
y subject
en una URL (URI):
mailto:infobot@example.com?subject=current-issue&body=send%20current-issue
Específicamente, debe codificar en porcentaje la dirección de correo electrónico, el asunto y el cuerpo y ponerlos en el formato anterior. El texto codificado en porcentaje es legal para su uso en HTML, sin embargo, esta URL debe estar codificada por entidad para su uso en un href
atributo, de acuerdo con el estándar HTML4 :
<a href="mailto:infobot@example.com?subject=current-issue&body=send%20current-issue">Send email</a>
Y, en general, aquí hay un script PHP simple que codifica según lo anterior.
<?php
$encodedTo = rawurlencode($message->to);
$encodedSubject = rawurlencode($message->subject);
$encodedBody = rawurlencode($message->body);
$uri = "mailto:$encodedTo?subject=$encodedSubject&body=$encodedBody";
$encodedUri = htmlspecialchars($uri);
echo "<a href=\"$encodedUri\">Send email</a>";
?>
$uri = ...
: el &
frente de subject
debería ser un?
Puede agregar el asunto agregado al comando mailto utilizando cualquiera de las siguientes formas. Agregue? Asunto out mailto a la etiqueta mailto.
<a href="mailto:test@example.com?subject=testing out mailto">First Example</a>
También podemos agregar texto al cuerpo del mensaje agregando & body al final de la etiqueta como se muestra en el ejemplo a continuación.
<a href="mailto:test@example.com?subject=testing out mailto&body=Just testing">Second Example</a>
Además del cuerpo, un usuario también puede escribir & cc o & bcc para completar los campos CC y BCC.
<a href="mailto:test@example.com?subject=testing out mailto&body=Just testing&cc=test1@example.com&bcc=test1@example.com">Third
Example</a>
Creé una herramienta de código abierto para facilitar esto. Ingrese las cadenas que desee e instantáneamente obtendrá mailto
:
💌⚡️ plantilla de correos electrónicos completos en un mailto
Lo dividí en líneas separadas para hacerlo un poco más legible.
<a href="
mailto:johndoe@gmail.com
?subject=My+great+email+to+you
&body=This+is+an+awesome+email
&cc=janedoe@gmail.com
&bcc=billybob@yahoo.com
">Click here to send email!</a>
Aquí está el truco http://neworganizing.com/content/blog/tip-prepopulate-mailto-links-with-subject-body-text
<a href="mailto:tips@neworganizing.com?subject=Your+tip+on+mailto+links&body=Thanks+for+this+tip">tell a friend</a>
Si:
Use esto para experimentar con elementos de formulario mailto y codificación de enlaces.
Puede ingresar asunto, cuerpo (es decir, contenido), etc. en el formulario, presionar el botón y ver el enlace mailto html que puede pegar en su página.
Incluso puede especificar elementos que rara vez se conocen y usan: cc, bcc, de correos electrónicos.
[Test Zõne]
convierte en %5BTest%20Z%C3%B5ne%5D
, esto puede evitar algunos bots de spam).
&#x
(evitando algunos bots de spam).
Sí, te puede gustar esto:
mailto: email@host.com?subject=something
Tenga en cuenta que no es posible usar HTML en el cuerpo del mensaje, de acuerdo con RFC 2368 :
El hname especial "body" indica que el hvalue asociado es el cuerpo del mensaje. El nombre de "cuerpo" debe contener el contenido de la primera parte de texto / cuerpo sin formato del mensaje. La URL de mailto está destinada principalmente a la generación de mensajes de texto cortos que en realidad son el contenido del procesamiento automático (como mensajes de "suscripción" para listas de correo), no cuerpos MIME generales.
Aquí hay un fragmento ejecutable para ayudarlo a generar mailto: enlaces con asunto y cuerpo opcionales.
function generate() {
var email = $('#email').val();
var subject = $('#subject').val();
var body = $('#body').val();
var mailto = 'mailto:' + email;
var params = {};
if (subject) {
params.subject = subject;
}
if (body) {
params.body = body;
}
if (params) {
mailto += '?' + $.param(params);
}
var $output = $('#output');
$output.val(mailto);
$output.focus();
$output.select();
document.execCommand('copy');
}
$(document).ready(function() {
$('#generate').on('click', generate);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="email" placeholder="email address" /><br/>
<input type="text" id="subject" placeholder="Subject" /><br/>
<textarea id="body" placeholder="Body"></textarea><br/>
<button type="button" id="generate">Generate & copy to clipboard</button><br/>
<textarea id="output">Output</textarea>
Si desea agregar contenido html a su correo electrónico, codifique su código html para el cuerpo del mensaje e inclúyalo en su código de enlace mailto, pero el problema es que no puede establecer el tipo de correo electrónico desde este enlace de texto sin formato a html, el cliente que usa el enlace necesita su cliente de correo para enviar correos html por defecto. En caso de que desee probar aquí, está el código para un enlace simple de mailto, con una imagen envuelta en un enlace (URL de estilo angular añadidas para visibilidad):
<a href="mailto:?body=%3Ca%20href%3D%22{{ scope.url }}%22%3E%3Cimg%20src%3D%22{{ scope.url }}%22%20width%3D%22300%22%20%2F%3E%3C%2Fa%3E">
Las etiquetas html están codificadas en url.