Tôi có thể đặt chủ đề / nội dung của email bằng mailto :?


Câu trả lời:


1460

Có, hãy xem tất cả các mẹo và thủ thuật với mailto: http://www.angelfire.com/dc/html-webmaster/mailto.htm

ví dụ mailto chủ đề:

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

gửi thư với nội dung:

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

Như đã đề cập trong các ý kiến, cả hai subjectbodyphải được thoát đúng. Sử dụng encodeURIComponent(subject)trên mỗi, thay vì mã hóa bằng tay cho các trường hợp cụ thể.

Như Hoody đã đề cập trong các bình luận, bạn có thể thêm ngắt dòng bằng cách thêm chuỗi được mã hóa sau vào chuỗi:

%0D%0A // one line break

29
Có thể sử dụng HTML cho cơ thể?
Jiew Meng

18
Đó là hoàn toàn cụ thể của khách hàng. Trong trường hợp chung, không.
tripleee

4
Chỉ là một tài liệu tham khảo: bạn không cần phải htmlescape chủ đề
Oscar Pérez

17
Lưu ý rằng W3C yêu cầu bạn mã hóa chuỗi của mình theo các quy tắc đó: Các ký tự phải được thể hiện trong NFC và các khoảng trắng phải được thoát dưới dạng% 20.
gordie

96
Trong trường hợp bất cứ ai khác đang tự hỏi, bạn cũng có thể thêm ngắt dòng vào cơ thể bằng cách sử dụng chuỗi% 0D% 0A - cubetoon.com/2008/iêu
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>

bạn có thể sử dụng mã này để đặt chủ đề, cơ thể, cc, bcc


39

Các mailto:thức truy cập URL được định nghĩa trong RFC 2368 . Ngoài ra, quy ước mã hóa thông tin vào URL và URI được xác định trong RFC 1738 và sau đó là RFC 3986 . Những quy định này làm thế nào để bao gồm các tiêu đề bodysubjecttiêu đề vào một URL (URI):

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

Cụ thể, bạn phải mã hóa phần trăm địa chỉ email, chủ đề và nội dung và đặt chúng vào định dạng ở trên. Văn bản được mã hóa phần trăm là hợp pháp để sử dụng trong HTML, tuy nhiên URL này phải được mã hóa thực thể để sử dụng trong một hrefthuộc tính, theo tiêu chuẩn HTML4 :

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

Và nói chung, đây là một tập lệnh PHP đơn giản mã hóa theo các điều trên.

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

Dưới đây là một ví dụ sâu sắc hơn nhiều nếu email của bạn có URL và URL đó có nội dung cần được mã hóa: stackoverflow.com/questions/4744888/
Lỗi

1
Tôi nghĩ rằng có một lỗi đánh máy trong dòng $uri = ...: Phía &trước subjectnên là một?
jost21

24

Bạn có thể thêm chủ đề được thêm vào lệnh mailto bằng một trong các cách sau. Thêm? Chủ đề ra mailto vào thẻ mailto.

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

Chúng ta cũng có thể thêm văn bản vào phần thân của tin nhắn bằng cách thêm & body vào cuối thẻ như trong ví dụ dưới đây.

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

Ngoài phần thân, người dùng cũng có thể nhập & cc hoặc & bcc để điền vào các trường CC và 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>

Cách thêm chủ đề vào thẻ mailto


13

Tôi đã tạo ra một công cụ nguồn mở để thực hiện điều này dễ dàng. Nhập chuỗi bạn muốn và bạn sẽ ngay lập tức nhận được mailto:

mailto.now.sh

Mẫu email đầy đủ trong một mailto

nhập mô tả hình ảnh ở đây


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

1
Tôi subjectkhông nhắn tin. Đó là một cái bàn. Làm thế nào để thêm điều đó.
David

9

Tôi chia nó thành các dòng riêng biệt để làm cho nó dễ đọc hơn một chút.

<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
câu hỏi này đã được trả lời 5 năm trước
varun aaruru

14
và nó vẫn được sử dụng cho đến ngày hôm nay khi bạn muốn gửi một cái gì đó
thật tuyệt vời vào


7

Đúng:

Sử dụng điều này để thử nghiệm với các yếu tố hình thức mailto và mã hóa liên kết.

Bạn có thể nhập chủ đề, nội dung (ví dụ nội dung), v.v. vào biểu mẫu, nhấn nút và xem liên kết mailto html mà bạn có thể dán vào trang của mình.

Bạn thậm chí có thể chỉ định các yếu tố hiếm khi được biết và sử dụng: cc, bcc, từ email.


Ngoài ra một tính năng rất hữu ích của nhà soạn nhạc trường href này là khả năng mã hóa tất cả các ký tự thành thập lục phân (ví dụ: [Test Zõne]trở thành %5BTest%20Z%C3%B5ne%5D, điều này có thể tránh một số bot spam).
Armfoot

Ý tôi là, nếu bạn chọn mã hóa tất cả các ký tự, tất cả chúng đều được chuyển đổi thành ký hiệu HTML &#x(tránh một số bot spam).
Armfoot

4
Liên kết này đã chết.
Bram Vanroy

6

Vâng, bạn có thể thích điều này:

mailto: email@host.com?subject=something

2
Tôi không nghĩ không gian nên ở đó?
nafg

Điều này nên không có không gian.
Hassan Raza

5

Lưu ý rằng không thể sử dụng HTML trong nội dung thư, theo RFC 2368 :

Tên "cơ thể" đặc biệt chỉ ra rằng giá trị liên quan là phần thân của thông điệp. Tên "cơ thể" phải chứa nội dung cho phần văn bản / phần thân đơn giản đầu tiên của tin nhắn. URL mailto chủ yếu nhằm tạo ra các tin nhắn văn bản ngắn thực sự là nội dung của xử lý tự động (chẳng hạn như tin nhắn "đăng ký" cho danh sách gửi thư), chứ không phải các cơ quan MIME chung.

Tín dụng: https://stackoverflow.com/a/13415988/1835519


2
Câu hỏi là hỏi làm thế nào để thiết lập chủ đề và nội dung. Nó không đề cập đến định dạng. Trong khi đó là một điều hữu ích để lưu ý về một câu trả lời, bạn còn lại ra chút về những gì có thể và làm thế nào để đạt được điều đó. Không có điều đó, đây là một nhận xét, không phải là một câu trả lời.
Quentin

Jure Tôi thực sự đánh giá cao bạn đặt câu hỏi này như một câu trả lời cho câu hỏi này vì đó chính xác là những gì tôi cần tìm hiểu và đang tự hỏi chính mình. Vì vậy, trong khi Quentin nghĩ rằng điều này không trả lời câu hỏi OP, nó trả lời tôi rằng tôi đang tìm kiếm bài đăng này. Cảm ơn bạn rất nhiều Jure!
dùng1567291

3

Đây là một đoạn mã có thể chạy để giúp bạn tạo mailto: liên kết với chủ đề và nội dung tùy chọn.

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

Nếu bạn muốn thêm nội dung html vào email của mình, url sẽ mã hóa mã html của bạn cho phần thân thư và đưa nó vào mã liên kết mailto của bạn, nhưng rắc rối là bạn không thể đặt loại email từ liên kết này từ plaintext thành html, khách hàng sử dụng liên kết cần ứng dụng thư khách của họ để gửi email html theo mặc định. Trong trường hợp bạn muốn kiểm tra ở đây là mã cho một liên kết mailto đơn giản, với một hình ảnh được bọc trong một liên kết (các url kiểu góc cạnh được thêm vào để hiển thị):

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

Các thẻ html được mã hóa url.


Bạn cũng có thể đăng một ví dụ trong đó phần thân <a href> chỉ có href và một văn bản giữa nó và thẻ kết thúc không? Cảm ơn
dùng1567291

<a href="<same như trên> "> Đây là văn bản liên kết </a> @ user1567291
serdarsenay

Điều này không hoạt động. Ứng dụng email sẽ chỉ hiển thị tất cả các thẻ html dưới dạng văn bản thay vì xử lý nó dưới dạng tài liệu văn bản có định dạng.
Ε é И
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.