Bisakah saya mengatur subjek / konten email menggunakan mailto :?

Jawaban:

1460

Ya, lihat semua tip dan trik dengan mailto: http://www.angelfire.com/dc/html-webmaster/mailto.htm

contoh subjek mailto:

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

mailto dengan konten:

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

Sebagaimana disinggung dalam komentar, keduanya subjectdan bodyharus melarikan diri dengan benar. Gunakan encodeURIComponent(subject)pada masing-masing, alih-alih pengodean tangan untuk kasus tertentu.

Seperti yang disebutkan Hoody dalam komentar, Anda dapat menambahkan jeda baris dengan menambahkan urutan disandikan berikut dalam string:

%0D%0A // one line break
Haim Evgi
sumber
29
apakah mungkin menggunakan HTML untuk tubuh?
Jiew Meng
18
Itu sepenuhnya khusus untuk klien. Dalam kasus umum, tidak.
tripleee
4
Hanya sebagai referensi: Anda tidak perlu htmlescape subjek
Oscar Pérez
17
Perhatikan bahwa W3C mengharuskan Anda menyandikan string Anda mengikuti aturan-aturan ini: Karakter harus direpresentasikan dalam NFC dan spasi harus dilepaskan sebagai% 20.
Gordie
96
Jika ada orang lain yang bertanya-tanya Anda juga dapat menambahkan jeda baris ke tubuh menggunakan urutan% 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>

Anda dapat menggunakan kode ini untuk mengatur subjek, tubuh, cc, bcc

oditiwebs.com
sumber
39

The mailto:Skema URL didefinisikan dalam RFC 2368 . Juga, konvensi untuk menyandikan informasi ke dalam URL dan URI didefinisikan dalam RFC 1738 dan kemudian RFC 3986 . Ini menentukan cara memasukkan bodydan subjecttajuk ke dalam URL (URI):

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

Khususnya, Anda harus meng-enkode alamat email, subjek, dan isi email dan memasukkannya ke dalam format di atas. Teks yang dikodekan persen adalah legal untuk digunakan dalam HTML, namun URL ini harus entitas yang dikodekan untuk digunakan dalam hrefatribut, sesuai dengan standar HTML4 :

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

Dan yang paling umum, di sini adalah skrip PHP sederhana yang mengkodekan per di atas.

<?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
sumber
Berikut adalah contoh yang lebih dalam karena jika email Anda memiliki URL di dalamnya dan URL itu memiliki hal-hal yang perlu disandikan: stackoverflow.com/questions/4744888/…
William Entriken
1
Saya pikir ada salah ketik di baris $uri = ...: Di &depan subjectharus a?
jost21
24

Anda dapat menambahkan subjek yang ditambahkan ke perintah mailto menggunakan salah satu dari cara berikut. Tambahkan? Subjek mailto ke tag mailto.

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

Kami juga dapat menambahkan teks ke badan pesan dengan menambahkan & isi ke akhir tag seperti yang ditunjukkan pada contoh di bawah ini.

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

Selain isi, pengguna juga dapat mengetik & cc atau & bcc untuk mengisi bidang CC dan BCC.

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

Cara menambahkan subjek ke tag mailto

niksmac
sumber
13

Saya membuat alat open-source untuk mempermudah ini. Masukkan string yang Anda inginkan dan Anda akan langsung mendapatkan mailto:

mailto.now.sh

💌⚡️ Templat email lengkap di mailto

masukkan deskripsi gambar di sini

Dawson B
sumber
12
mailto:joe@company.com?subject=Your+subject
berbayar
sumber
1
Saya subjectbukan teks. Itu adalah sebuah meja. Bagaimana cara menambahkannya?
David
9

Saya membaginya menjadi beberapa baris terpisah agar lebih mudah dibaca.

<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>
unik
sumber
1
pertanyaan ini dijawab 5 tahun yang lalu
varun aaruru
14
dan masih digunakan hari ini ketika Anda ingin mengirim sesuatu
quemeful
7

Iya:

Gunakan ini untuk bereksperimen dengan elemen formulir mailto dan tautan encoding.

Anda dapat memasukkan subjek, isi (yaitu konten), dll. Ke dalam formulir, tekan tombol dan lihat tautan html ke email yang dapat Anda tempelkan ke halaman Anda.

Anda bahkan dapat menentukan elemen yang jarang dikenal dan digunakan: cc, bcc, dari email.

woz
sumber
Juga fitur yang sangat berguna dari komposer bidang href ini adalah kemampuan untuk menyandikan semua karakter ke heksadesimal (misalnya: [Test Zõne]menjadi %5BTest%20Z%C3%B5ne%5D, ini dapat menghindari beberapa bot spam).
Armfoot
Maksud saya, jika Anda memilih untuk menyandikan semua karakter, mereka semua dikonversi ke notasi HTML &#x(menghindari beberapa bot spam).
Armfoot
4
Tautan ini sudah mati.
Bram Vanroy
6

Ya, Anda bisa seperti ini:

mailto: email@host.com?subject=something
MeanEYE
sumber
2
Saya tidak berpikir ruang harus ada di sana?
nafg
ini harus tanpa ruang.
Hassan Raza
5

Perhatikan bahwa tidak mungkin menggunakan HTML di badan pesan, menurut RFC 2368 :

Nama tubuh "tubuh" khusus menunjukkan bahwa nilai yang terkait adalah badan pesan. Nama "tubuh" harus berisi konten untuk bagian teks / badan polos pertama dari pesan tersebut. URL mailto terutama ditujukan untuk pembuatan pesan teks pendek yang sebenarnya merupakan konten pemrosesan otomatis (seperti pesan "berlangganan" untuk milis), bukan badan MIME umum.

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

Jure Sah
sumber
2
Pertanyaannya adalah bertanya bagaimana mengatur subjek dan konten. Itu tidak menyebutkan pemformatan. Meskipun itu adalah hal yang berguna untuk dicatat pada jawaban, Anda mengabaikan sedikit tentang apa yang mungkin dan bagaimana mencapainya. Tanpa itu, ini adalah komentar, bukan jawaban.
Quentin
Jure Saya sangat menghargai Anda menempatkan ini sebagai jawaban untuk pertanyaan ini karena itu PERSIS apa yang saya butuhkan untuk mencari tahu dan bertanya pada diri sendiri. Jadi sementara Quentin berpikir ini tidak menjawab pertanyaan OP, itu menjawab pertanyaan saya yang saya cari yang memunculkan postingan ini. Terima kasih banyak Jure!
user1567291
3

Berikut cuplikan yang dapat dijalankan untuk membantu Anda menghasilkan mailto: tautan dengan subjek dan isi opsional.

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

Jika Anda ingin menambahkan konten html ke email Anda, url menyandikan kode html Anda untuk badan pesan dan memasukkannya ke dalam kode tautan mailto Anda, tetapi masalahnya adalah Anda tidak dapat mengatur jenis email dari tautan ini dari plaintext ke html, klien yang menggunakan tautan membutuhkan klien surat mereka untuk mengirim email html secara default. Jika Anda ingin menguji di sini adalah kode untuk tautan mailto sederhana, dengan gambar yang dibungkus dengan tautan (url gaya sudut ditambahkan untuk visibilitas):

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

Tag html dikodekan dengan url.

serdarsenay
sumber
Bisakah Anda juga memposting contoh di mana tubuh <a href> hanya memiliki href dan teks di antara itu dan tag akhir? Terima kasih
user1567291
<a href="<same seperti di atas> "> Ini adalah teks tautan </a> @ user1567291
serdarsenay
Ini tidak berhasil. Klien email hanya akan menampilkan semua tag html sebagai teks alih-alih memprosesnya sebagai dokumen teks kaya.
Ε Г И І И О