Posso impostare oggetto / contenuto dell'e-mail usando mailto :?


Risposte:


1460

Sì, guarda tutti i suggerimenti e i trucchi con mailto: http://www.angelfire.com/dc/html-webmaster/mailto.htm

esempio di mailto subject:

<a href="mailto:no-one@snai1mai1.com?subject=free chocolate">example</a>

mailto con contenuto:

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

Come accennato nei commenti, entrambi subjecte bodydevono essere sfuggiti correttamente. Utilizzare encodeURIComponent(subject)su ciascuno, anziché la codifica manuale per casi specifici.

Come Hoody ha menzionato nei commenti, è possibile aggiungere interruzioni di riga aggiungendo la seguente sequenza codificata nella stringa:

%0D%0A // one line break

29
è possibile usare HTML per il corpo?
Jiew Meng

18
Questo è interamente specifico per il cliente. Nel caso generale, no.
Tripleee

4
Solo come riferimento: non devi scappare dall'argomento
Oscar Pérez,

17
Nota che W3C richiede di codificare la stringa seguendo queste regole: I caratteri devono essere rappresentati in NFC e gli spazi devono essere salvati come% 20.
Gordie,

96
Nel caso in cui qualcun altro si stia chiedendo, puoi anche aggiungere interruzioni di linea al corpo usando la sequenza% 0D% 0A - cubetoon.com/2008/…
Hoody

123
<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>

puoi usare questo codice per impostare soggetto, corpo, cc, cc


39

Lo mailto:schema URL è definito in RFC 2368 . Inoltre, la convenzione per la codifica delle informazioni in URL e URI è definita in RFC 1738 e quindi in RFC 3986 . Questi prescrivono come includere le intestazioni bodye subjectin un URL (URI):

mailto:infobot@example.com?subject=current-issue&body=send%20current-issue

In particolare, devi codificare in percentuale l'indirizzo e-mail, l'oggetto e il corpo e inserirli nel formato sopra. Il testo con codifica in percentuale è legale per l'uso in HTML, tuttavia questo URL deve essere codificato in entità per l'uso in un hrefattributo, secondo lo standard HTML4 :

<a href="mailto:infobot@example.com?subject=current-issue&amp;body=send%20current-issue">Send email</a>

E più in generale, ecco un semplice script PHP che codifica per quanto sopra.

<?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>";
?>

Ecco un esempio molto più approfondito di se la tua e-mail contiene un URL e quell'URL contiene elementi che devono essere codificati: stackoverflow.com/questions/4744888/…
William Entriken,

1
Penso che ci sia un refuso nella riga $uri = ...: il &davanti a subjectdovrebbe essere un?
jost21

24

È possibile aggiungere l'oggetto aggiunto al comando mailto utilizzando uno dei seguenti modi. Aggiungi? Subject out mailto al tag mailto.

<a href="mailto:test@example.com?subject=testing out mailto">First Example</a>

Possiamo anche aggiungere del testo nel corpo del messaggio aggiungendo & body alla fine del tag, come mostrato nell'esempio seguente.

 <a href="mailto:test@example.com?subject=testing out mailto&body=Just testing">Second Example</a>

Oltre a body, un utente può anche digitare & cc o & bcc per compilare i campi CC e 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>

Come aggiungere soggetto al tag mailto


13

Ho creato uno strumento open source per renderlo facile. Inserisci le stringhe che desideri e otterrai immediatamente mailto:

mailto.now.sh

💌⚡️ Template email complete in un mailto

inserisci qui la descrizione dell'immagine


12
mailto:joe@company.com?subject=Your+subject

1
Il mio subjectnon è testo. È un tavolo. Come aggiungerlo
David,

9

L'ho diviso in righe separate per renderlo un po 'più leggibile.

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

1
a questa domanda è stata data risposta 5 anni fa
varun aaruru,

14
ed è ancora usato oggi quando vuoi spedire qualcosa
quemeful


7

Sì:

Utilizzare questo per sperimentare con elementi del modulo mailto e la codifica di collegamento.

Puoi inserire oggetto, corpo (es. Contenuto), ecc. Nel modulo, premere il pulsante e vedere il link mailto html che puoi incollare nella tua pagina.

Puoi anche specificare elementi che sono raramente conosciuti e usati: cc, bcc, dalle e-mail.


Anche una caratteristica molto utile di questo compositore di campi href è la possibilità di codificare tutti i caratteri in esadecimali (ad esempio: [Test Zõne]diventa %5BTest%20Z%C3%B5ne%5D, questo può evitare alcuni robot spam).
Armfoot,

Voglio dire, se scegli di codificare tutti i caratteri, vengono tutti convertiti in notazione HTML &#x(evitando alcuni robot spam).
Armfoot,

4
Questo link è morto.
Bram Vanroy,

6

Sì, puoi fare così:

mailto: email@host.com?subject=something

2
Non penso che lo spazio dovrebbe essere lì?
nafg

questo dovrebbe essere senza spazio.
Hassan Raza,

5

Si noti che non è possibile utilizzare HTML nel corpo del messaggio, secondo RFC 2368 :

Il nome speciale "body" indica che il valore associato è il corpo del messaggio. L'hname "body" dovrebbe contenere il contenuto della prima parte di testo / corpo normale del messaggio. L'URL mailto è principalmente destinato alla generazione di brevi messaggi di testo che sono in realtà il contenuto dell'elaborazione automatica (come i messaggi "sottoscrivi" per le mailing list), non gli organismi MIME generali.

Credito: https://stackoverflow.com/a/13415988/1835519


2
La domanda è: come impostare l'oggetto e il contenuto. Non ha menzionato la formattazione. Sebbene questa sia una cosa utile da notare in una risposta, hai lasciato fuori un po 'ciò che è possibile e come raggiungerlo. Senza questo, questo è un commento, non una risposta.
Quentin,

Jure, apprezzo molto il fatto che tu abbia posto questa come una risposta a questa domanda, poiché è ESATTAMENTE quello che dovevo scoprire e che mi chiedevo. Quindi, mentre Quentin pensa che questo non risponda alla domanda OP, risponde alla mia che stavo cercando che ha sollevato questo post. Grazie mille Jure!
user1567291

3

Ecco uno snippet eseguibile per aiutarti a generare mailto: collegamenti con oggetto e corpo opzionali.

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>


1

Se desideri aggiungere contenuti html alla tua e-mail, url codifica il tuo codice html per il corpo del messaggio e includilo nel codice del tuo link mailto, ma il problema è che non puoi impostare il tipo di email da questo link dal testo semplice a html, il client che utilizza il collegamento ha bisogno del proprio client di posta per inviare e-mail html per impostazione predefinita. Nel caso in cui desideri testare qui è il codice per un semplice link mailto, con un'immagine racchiusa in un link (URL di stile angolare aggiunti per la 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">

I tag html sono codificati in url.


Puoi anche pubblicare un esempio in cui il corpo <a href> ha solo l'href e un testo tra esso e il tag di fine? Grazie
user1567291

<a href="<same as above> "> Questo è il testo del link </a> @ user1567291
serdarsenay

Questo non funziona Il client di posta elettronica mostrerà semplicemente tutti i tag html come testo invece di elaborarli come documenti rich text.
Ε Г И І И О
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.