Est-il possible de définir le sujet/contenu du courrier électronique lorsque j'utilise mailto :?
Oui, recherchez tous les trucs et astuces avec mailto: http://www.angelfire.com/dc/html-webmaster/mailto.htm
exemple mailto sujet:
<a href="mailto:[email protected]?subject=free chocolate">example</a>
mailto avec contenu:
<a href="mailto:?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>
Comme mentionné dans les commentaires, subject
et body
doivent être correctement échappés. Utilisez encodeURIComponent(subject)
sur chacun, plutôt que de coder à la main pour des cas spécifiques.
Comme Hoody est mentionné dans les commentaires, vous pouvez ajouter des sauts de ligne en ajoutant la séquence codée suivante dans la chaîne:
%0D%0A // one line break
<a href="mailto:[email protected]?subject=Feedback for
webdevelopersnotes.com&body=The Tips and Tricks section is great
&[email protected]
&[email protected]">Send me an email</a>
vous pouvez utiliser ce code pour définir l'objet, le corps, cc, bcc
Le schéma d'URL mailto:
est défini dans RFC 2368 . De plus, la convention de codage des informations dans les URL et les URI est définie dans RFC 1738 et ensuite RFC 3986 . Celles-ci indiquent comment inclure les en-têtes body
et subject
dans une URL (URI):
mailto:[email protected]?subject=current-issue&body=send%20current-issue
Spécifiquement, vous devez encoder en pourcentage l'adresse électronique, le sujet et le corps et les mettre dans le format ci-dessus. Le texte codé en pourcentage est licite pour une utilisation en HTML. Toutefois, cette URL doit être une entité codée pour pouvoir être utilisée dans un attribut href
, conformément au norme HTML4 :
<a href="mailto:[email protected]?subject=current-issue&body=send%20current-issue">Send email</a>
Et plus généralement, voici un simple script PHP qui code pour ce qui précède.
<?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>";
?>
Vous pouvez ajouter un objet ajouté à la commande mailto de l'une des manières suivantes. Ajoutez? Subject out mailto à la balise mailto.
<a href="mailto:[email protected]?subject=testing out mailto">First Example</a>
Nous pouvons également ajouter du texte dans le corps du message en ajoutant & body à la fin de la balise, comme indiqué dans l'exemple ci-dessous.
<a href="mailto:[email protected]?subject=testing out mailto&body=Just testing">Second Example</a>
En plus du corps, un utilisateur peut également taper & cc ou & bcc pour renseigner les champs CC et BCC.
<a href="mailto:[email protected]?subject=testing out mailto&body=Just testing&[email protected]&[email protected]">Third
Example</a>
mailto:[email protected]?subject=Your+subject
voici l'astuce http://neworganizing.com/content/blog/tip-prepopulate-mailto-links-with-subject-body-text
<a href="mailto:[email protected]?subject=Your+tip+on+mailto+links&body=Thanks+for+this+tip">tell a friend</a>
Je l'ai divisé en lignes séparées pour le rendre un peu plus lisible.
<a href="
mailto:[email protected]
?subject=My+great+email+to+you
&body=This+is+an+awesome+email
&[email protected]
&[email protected]
">Click here to send email!</a>
Oui:
Utilisez this pour expérimenter des éléments de formulaire mailto et l’encodage de liens.
Vous pouvez entrer le sujet, le corps (contenu), etc. dans le formulaire, cliquer sur le bouton et voir le lien mailto html que vous pouvez coller dans votre page.
Vous pouvez même spécifier des éléments qui sont rarement connus et utilisés: cc, bcc, depuis des emails.
Oui, vous pouvez aimer ceci:
mailto: [email protected]?subject=something
Notez qu'il n'est pas possible d'utiliser HTML dans le corps du message, conformément à RFC 2368 :
Le hname spécial "body" indique que la hvalue associée est le corps du message. Le hname "body" doit contenir le contenu de la première partie text/plain du message. L'URL mailto est principalement destinée à la génération de courts messages textuels constituant le contenu du traitement automatique (tels que les messages "s'abonner" pour les listes de diffusion), et non aux corps MIME généraux.
J'ai créé un outil open-source pour rendre cela facile. Entrez les chaînes que vous voulez et vous obtiendrez instantanément le mailto
:
???? Modèle des emails complets dans un mailto
Voici un extrait exécutable pour vous aider à générer mailto: des liens avec un sujet et un corps facultatifs.
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 vous souhaitez ajouter du contenu html à votre courrier électronique, url encodez votre code html pour le corps du message et l'inclure dans votre code de lien mailto. le client utilisant le lien a besoin de son client de messagerie pour envoyer des emails HTML par défaut. Si vous souhaitez tester, voici le code d'un lien mailto simple, avec une image enveloppée dans un lien (URL de style angulaire ajoutées pour plus de visibilité):
<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">
Les balises html sont encodées en url.