Có thể đặt chủ đề / nội dung của email khi tôi sử dụng mailto :?
Có thể đặt chủ đề / nội dung của email khi tôi sử dụng mailto :?
Câu trả lời:
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 subject
và body
phả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
<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
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 đề body
và subject
tiê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 href
thuộc tính, theo tiêu chuẩn HTML4 :
<a href="mailto:infobot@example.com?subject=current-issue&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>";
?>
$uri = ...
: Phía &
trước subject
nên là một?
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>
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
:
Mẫu email đầy đủ trong một mailto
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>
đây là mẹo http://new Organizing.com/content/blog/tip-prepopulation-mailto-links-with-subject-body-text
<a href="mailto:tips@neworganizing.com?subject=Your+tip+on+mailto+links&body=Thanks+for+this+tip">tell a friend</a>
Đú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.
[Test Zõne]
trở thành %5BTest%20Z%C3%B5ne%5D
, điều này có thể tránh một số bot spam).
&#x
(tránh một số bot spam).
Vâng, bạn có thể thích điều này:
mailto: email@host.com?subject=something
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.
Đâ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>
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.