web-dev-qa-db-fra.com

Puis-je définir l'objet / le contenu d'un email en utilisant mailto :?

Est-il possible de définir le sujet/contenu du courrier électronique lorsque j'utilise mailto :?

839
Jiew Meng

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
1380
Haim Evgi
<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

115
oditiwebs.com

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&amp;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>";
?>
35
William Entriken

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>

Comment ajouter un sujet à la balise mailto

23
niksmac
mailto:[email protected]?subject=Your+subject
12
payne

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>
8
Arun Kushwaha

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>
8
quemeful

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.

7
woz

Oui, vous pouvez aimer ceci:

mailto: [email protected]?subject=something
6
MeanEYE

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.

Crédit: https://stackoverflow.com/a/13415988/1835519

5
Jure Sah

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:

mailto.now.sh

???? Modèle des emails complets dans un mailto

website demo

3
Dawson B

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>
2
congusbongus

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.

1
serdarsenay