Kann ich den Betreff / Inhalt der E-Mail mit mailto: festlegen?


Antworten:


1460

Ja, sehen Sie sich alle Tipps und Tricks mit mailto an: http://www.angelfire.com/dc/html-webmaster/mailto.htm

mailto Betreff Beispiel:

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

mailto mit Inhalt:

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

Wie in den Kommentaren erwähnt, müssen beide subjectund bodyordnungsgemäß entkommen werden. Verwenden Sie encodeURIComponent(subject)auf jedem, anstatt für bestimmte Fälle von Hand zu codieren.

Wie Hoody in den Kommentaren erwähnt hat, können Sie Zeilenumbrüche hinzufügen, indem Sie der Zeichenfolge die folgende codierte Sequenz hinzufügen:

%0D%0A // one line break

29
Ist es möglich, HTML für den Körper zu verwenden?
Jiew Meng

18
Das ist völlig kundenspezifisch. Im allgemeinen Fall nein.
Tripleee

4
Nur als Referenz: Sie müssen sich nicht mit dem Thema auseinandersetzen
Oscar Pérez

17
Beachten Sie, dass W3C erfordert, dass Sie Ihre Zeichenfolge nach den folgenden Regeln codieren: Zeichen sollten in NFC dargestellt werden und Leerzeichen sollten als% 20 maskiert werden.
Gordon

96
Falls sich jemand wundert, können Sie dem Körper auch Zeilenumbrüche hinzufügen, indem Sie die Sequenz% 0D% 0A verwenden - 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>

Mit diesem Code können Sie subject, body, cc, bcc festlegen


39

Das mailto:URL-Schema ist in RFC 2368 definiert . Die Konvention zum Codieren von Informationen in URLs und URIs ist auch in RFC 1738 und dann in RFC 3986 definiert . Diese schreiben vor, wie die bodyund subject-Header in eine URL (URI) aufgenommen werden sollen:

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

Insbesondere müssen Sie die E-Mail-Adresse, den Betreff und den Text in Prozent codieren und in das oben angegebene Format bringen. Prozentcodierter Text ist für die Verwendung in HTML zulässig. Diese URL muss jedoch für die Verwendung in einem hrefAttribut gemäß dem HTML4-Standard entitätscodiert sein :

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

Und im Allgemeinen ist hier ein einfaches PHP-Skript, das wie oben beschrieben codiert.

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

Hier ist ein viel tieferes Beispiel dafür, ob Ihre E-Mail eine URL enthält und diese URL Dinge enthält
William Entriken

1
Ich denke, es gibt einen Tippfehler in der Zeile $uri = ...: Der &vor subjectsollte ein?
jost21

24

Sie können dem Befehl mailto einen Betreff hinzufügen, indem Sie eine der folgenden Möglichkeiten anwenden. Fügen Sie dem mailto-Tag? Betreff out mailto hinzu.

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

Sie können dem Nachrichtentext auch Text hinzufügen, indem Sie am Ende des Tags & body hinzufügen, wie im folgenden Beispiel gezeigt.

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

Zusätzlich zum Text kann ein Benutzer auch & cc oder & bcc eingeben, um die Felder CC und BCC auszufüllen.

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

So fügen Sie einen Betreff zum mailto-Tag hinzu


13

Ich habe ein Open-Source-Tool erstellt, um dies zu vereinfachen. Geben Sie die gewünschten Zeichenfolgen ein und Sie erhalten sofort Folgendes mailto:

mailto.now.sh

💌⚡️ Vorlage vollständiger E-Mails in einem Mailto

Geben Sie hier die Bildbeschreibung ein


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

1
Mein subjectist kein Text. Das ist ein Tisch. Wie man das hinzufügt.
David

9

Ich habe es in separate Zeilen aufgeteilt, um es etwas lesbarer zu machen.

<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
Diese Frage wurde vor 5 Jahren beantwortet
Varun Aaruru

14
und es wird noch heute verwendet, wenn Sie etwas
mailen möchten


7

Ja:

Verwenden Sie diese Option, um mit Mailto-Formularelementen und der Linkcodierung zu experimentieren.

Sie können Betreff, Text (dh Inhalt) usw. in das Formular eingeben, auf die Schaltfläche klicken und den Mailto-HTML-Link anzeigen, den Sie in Ihre Seite einfügen können.

Sie können sogar Elemente angeben, die selten bekannt sind und verwendet werden: cc, bcc, aus E-Mails.


Ein sehr nützliches Merkmal dieses href-Feldkomponisten ist auch die Fähigkeit, alle Zeichen hexadezimal zu codieren (z. B.: [Test Zõne]Wird %5BTest%20Z%C3%B5ne%5D, dies kann einige Spam-Bots vermeiden).
Armfoot

Ich meine, wenn Sie alle Zeichen codieren, werden sie alle in die HTML-Notation konvertiert &#x(wobei einige Spam-Bots vermieden werden).
Armfoot

4
Dieser Link ist tot.
Bram Vanroy

6

Ja, das kann dir gefallen:

mailto: email@host.com?subject=something

2
Ich denke nicht, dass der Raum dort sein sollte?
Nafg

Dies sollte ohne Platz sein.
Hassan Raza

5

Beachten Sie, dass gemäß RFC 2368 kein HTML im Nachrichtentext verwendet werden kann :

Der spezielle hname "body" gibt an, dass der zugehörige hvalue der Body der Nachricht ist. Der Name "body" sollte den Inhalt für den ersten Text- / Klartextteil der Nachricht enthalten. Die Mailto-URL ist in erster Linie für die Generierung von Kurztextnachrichten vorgesehen, die tatsächlich den Inhalt der automatischen Verarbeitung darstellen (z. B. "Abonnieren" von Nachrichten für Mailinglisten), nicht für allgemeine MIME-Textkörper.

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


2
Die Frage ist, wie das Thema und der Inhalt eingestellt werden sollen. Die Formatierung wurde nicht erwähnt. Während das eine nützliche Sache zu Hinweis auf eine Antwort ist, verlassen Sie etwas über, was ist möglich und wie es zu erreichen. Ohne das ist dies ein Kommentar, keine Antwort.
Quentin

Jure, ich weiß es wirklich zu schätzen, dass Sie dies als Antwort auf diese Frage angegeben haben, da dies genau das ist, was ich herausfinden musste und mich fragte. Während Quentin der Meinung ist, dass dies die OP-Frage nicht beantwortet, beantwortet es meine, nach der ich gesucht habe, und brachte diesen Beitrag hervor. Vielen Dank Jure!
Benutzer1567291

3

Hier ist ein ausführbares Snippet, mit dem Sie Mailto: -Links mit optionalem Betreff und Text generieren können.

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

Wenn Sie Ihrer E-Mail HTML-Inhalte hinzufügen möchten, codieren Sie Ihren HTML-Code für den Nachrichtentext per URL und fügen Sie ihn in Ihren Mailto-Link-Code ein. Das Problem ist jedoch, dass Sie den E-Mail-Typ von diesem Link nicht von Klartext zu HTML festlegen können. Der Client, der den Link verwendet, benötigt seinen E-Mail-Client, um standardmäßig HTML-E-Mails zu senden. Für den Fall, dass Sie hier testen möchten, finden Sie den Code für einen einfachen Mailto-Link mit einem Bild, das in einen Link eingeschlossen ist (URLs im Winkelstil wurden zur besseren Sichtbarkeit hinzugefügt):

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

Die HTML-Tags sind URL-codiert.


Können Sie auch ein Beispiel posten, in dem der Körper <a href> nur die href und einen Text zwischen sich und dem End-Tag enthält? Danke
user1567291

<a href="< wie oben> "> Dies ist der Linktext </a> @ user1567291
Serdarsenay

Das funktioniert nicht. Der E-Mail-Client zeigt nur alle HTML-Tags als Text an, anstatt sie als Rich-Text-Dokument zu verarbeiten.
О Г И І І О
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.