Czy mogę ustawić temat / treść wiadomości e-mail za pomocą mailto :?

Odpowiedzi:

1459

Tak, przejrzyj wszystkie porady i wskazówki w mailto: http://www.angelfire.com/dc/html-webmaster/mailto.htm

przykładowy temat mailto:

<a href="mailto:[email protected]?subject=free chocolate">example</a>

mailto z zawartością:

<a href="mailto:[email protected]?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>

Jak wspomniano w komentarzach, jak subjecti bodymuszą być właściwie uciekł. Użyj encodeURIComponent(subject)na każdym, zamiast kodowania ręcznego w określonych przypadkach.

Jak wspomniano w komentarzach Hoody , możesz dodawać podziały wierszy, dodając następującą zakodowaną sekwencję w ciągu:

%0D%0A // one line break
Haim Evgi
źródło
29
czy możliwe jest użycie HTML do treści?
Jiew Meng
18
To całkowicie zależy od klienta. W ogólnym przypadku nie.
tripleee
4
Tylko jako odniesienie: nie musisz htmlescape tematu
Oscar Pérez
17
Zauważ, że W3C wymaga zakodowania łańcucha według następujących zasad: Znaki powinny być reprezentowane w NFC, a spacje powinny być poprzedzane znakami% 20.
gordie,
96
W przypadku, gdy ktokolwiek się zastanawia, możesz również dodać podziały wierszy do ciała, używając sekwencji% 0D% 0A - cubetoon.com/2008/…
Hoody
123
<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>

możesz użyć tego kodu, aby ustawić temat, ciało, DW, UDW

oditiwebs.com
źródło
39

mailto:Schemat URL jest zdefiniowany w dokumencie RFC 2368 . Konwencja kodowania informacji w adresach URL i URI jest również zdefiniowana w RFC 1738, a następnie RFC 3986 . Opisują one, jak uwzględnić nagłówki bodyi subjectw adresie URL (URI):

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

W szczególności należy procentowo zakodować adres e-mail, temat i treść i umieścić je w powyższym formacie. Tekst zakodowany w procentach jest legalny do użycia w HTML, jednak ten adres URL musi być zakodowany w formie encji do użycia w hrefatrybucie, zgodnie ze standardem HTML4 :

<a href="mailto:[email protected]?subject=current-issue&amp;body=send%20current-issue">Send email</a>

I najogólniej, tutaj jest prosty skrypt PHP, który koduje zgodnie z powyższym.

<?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>";
?>
William Entriken
źródło
Oto o wiele głębszy przykład, jeśli Twój e-mail zawiera adres URL, a ten adres URL zawiera elementy, które należy zakodować: stackoverflow.com/questions/4744888/...
William Entriken
1
Myślę, że w wierszu jest literówka $uri = ...: &z przodu subjectpowinien być?
jost21
24

Możesz dodać temat dodany do polecenia mailto, korzystając z jednego z następujących sposobów. Dodaj? Temat out mailto do tagu mailto.

<a href="mailto:[email protected]?subject=testing out mailto">First Example</a>

Możemy również dodać tekst do treści wiadomości, dodając & body na końcu tagu, jak pokazano w poniższym przykładzie.

 <a href="mailto:[email protected]?subject=testing out mailto&body=Just testing">Second Example</a>

Oprócz treści użytkownik może także wpisać & cc lub & bcc, aby wypełnić pola CC i BCC.

<a href="mailto:[email protected]?subject=testing out mailto&body=Just testing&[email protected]&[email protected]">Third
    Example</a>

Jak dodać temat do tagu mailto

niksmac
źródło
13

Dla ułatwienia stworzyłem narzędzie typu open source. Wprowadź ciągi, które chcesz, a natychmiast otrzymasz mailto:

mailto.now.sh

💌⚡️ Szablon pełnych wiadomości e-mail w mailto

wprowadź opis zdjęcia tutaj

Dawson B.
źródło
12
mailto:joe@company.com?subject=Your+subject
Payne
źródło
1
Mój subjectnie jest tekstem. To jest stół. Jak to dodać.
David
9

Podzieliłem go na osobne wiersze, aby był bardziej czytelny.

<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>
cichy
źródło
1
na to pytanie odpowiedziano 5 lat temu
varun aaruru
14
i nadal jest używany dzisiaj, kiedy chcesz coś wysłać
cichy
7

Tak:

Użyj tego do eksperymentowania z elementami formularza mailto i kodowaniem linków.

Możesz wpisać temat, treść (tj. Treść) itp. W formularzu, nacisnąć przycisk i zobaczyć link mailto HTML, który możesz wkleić na swojej stronie.

Możesz nawet określić elementy, które są rzadko znane i używane: cc, bcc, z wiadomości e-mail.

woz
źródło
Bardzo przydatną funkcją tego kompozytora pól href jest także możliwość kodowania wszystkich znaków w systemie szesnastkowym (np .: [Test Zõne]staje się %5BTest%20Z%C3%B5ne%5D, może to uniknąć niektórych botów spamowych).
Armfoot
To znaczy, jeśli zdecydujesz się zakodować wszystkie znaki, wszystkie zostaną przekonwertowane na notację HTML &#x(unikając niektórych botów spamowych).
Armfoot
4
Ten link jest martwy.
Bram Vanroy
6

Tak, możesz polubić to:

mailto: email@host.com?subject=something
MeanEYE
źródło
2
Nie sądzę, że przestrzeń powinna tam być?
nafg
powinno być bez miejsca.
Hassan Raza
5

Pamiętaj, że nie jest możliwe użycie HTML w treści wiadomości, zgodnie z RFC 2368 :

Specjalna nazwa haseł „body” wskazuje, że powiązana wartość jest treścią wiadomości. Nazwa „body” powinna zawierać treść pierwszej części tekstu / zwykłego tekstu wiadomości. Adres URL mailto jest przeznaczony przede wszystkim do generowania krótkich wiadomości tekstowych, które w rzeczywistości są treścią automatycznego przetwarzania (takich jak wiadomości „subskrybuj” dla list adresowych), a nie ogólne treści MIME.

Źródło: https://stackoverflow.com/a/13415988/1835519

Jure Sah
źródło
2
Pytanie brzmi: jak ustawić temat i treść. Nie wspominał o formatowaniu. Chociaż jest to przydatna rzecz do zanotowania w odpowiedzi, pominęłeś trochę o tym, co jest możliwe i jak to osiągnąć. Bez tego jest to komentarz, a nie odpowiedź.
Quentin,
Jure, naprawdę doceniam to, że postawiłeś to jako odpowiedź na to pytanie, ponieważ to jest DOKŁADNIE to, czego potrzebowałem się dowiedzieć i zadać sobie pytanie. Więc chociaż Quentin uważa, że ​​to nie odpowiada na pytanie OP, odpowiada moje, że szukałem tego, który przyniósł ten post. Dziękuję bardzo Jure!
user1567291,
3

Oto uruchamialny fragment, który pomoże Ci wygenerować mailto: linki z opcjonalnym tematem i treścią.

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>

congusbongus
źródło
1

Jeśli chcesz dodać treść HTML do wiadomości e-mail, adres URL koduje kod HTML treści wiadomości i dołącza go do kodu linku mailto, ale problem polega na tym, że nie można ustawić typu wiadomości e-mail z tego linku z zwykłego tekstu na HTML, klient korzystający z linku potrzebuje domyślnie swojego klienta poczty do wysyłania wiadomości e-mail w formacie HTML. Jeśli chcesz przetestować tutaj, jest kod prostego linku mailto, z obrazem owiniętym linkiem (dla widoczności dodano adresy URL w stylu kanciastym):

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

Tagi HTML są zakodowane w adresie URL.

serdarsenay
źródło
Czy możesz również opublikować przykład, w którym ciało <a href> ma tylko href i tekst między nim a znacznikiem końcowym? Dzięki
użytkownik1567291,
<a href="<same as above>>> To jest tekst linku </a> @ user1567291
serdarsenay
To nie działa Klient e-mail po prostu pokaże wszystkie tagi HTML jako tekst zamiast przetwarzać go jako dokument tekstowy.
Ε Г И І И О