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:no-one@snai1mai1.com?subject=free chocolate">example</a>

mailto z zawartością:

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

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

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

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


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:infobot@example.com?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>";
?>

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:test@example.com?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:test@example.com?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:test@example.com?subject=testing out mailto&body=Just testing&cc=test1@example.com&bcc=test1@example.com">Third
    Example</a>

Jak dodać temat do tagu mailto


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


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

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


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

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


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>


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.


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.
Ε Г И І И О
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.