mailto:を使用するときにメールの件名/コンテンツを設定することはできますか?
mailto:を使用するときにメールの件名/コンテンツを設定することはできますか?
回答:
はい、mailtoですべてのヒントとコツを調べてください:http : //www.angelfire.com/dc/html-webmaster/mailto.htm
mailto件名の例:
<a href="mailto:no-one@snai1mai1.com?subject=free chocolate">example</a>
内容を含むmailto:
<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>
コメントで示唆した、両方のようsubject
およびbody
適切にエスケープする必要があります。encodeURIComponent(subject)
特定のケースでは、手動でコーディングするのではなく、それぞれに使用してください。
パーカーはコメントで述べたように、あなたは文字列で、以下のコードされた配列を付加することにより、改行を追加することができます。
%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>
このコードを使用して、件名、本文、cc、bccを設定できます
mailto:
URLスキームを定義しているRFC 2368。また、情報をURLおよびURIにエンコードするための規則は、RFC 1738で定義され、次にRFC 3986で定義されています。これらは、body
およびsubject
ヘッダーをURL(URI)に含める方法を規定しています。
mailto:infobot@example.com?subject=current-issue&body=send%20current-issue
具体的には、メールアドレス、件名、本文をパーセントエンコードして、上記の形式にする必要があります。パーセントエンコードされたテキストはHTMLでの使用が許可されていhref
ますが、HTML4標準に従って、このURLは属性で使用するためにエンティティエンコードする必要があります。
<a href="mailto:infobot@example.com?subject=current-issue&body=send%20current-issue">Send email</a>
そして最も一般的には、これは上記に従ってエンコードする単純なPHPスクリプトです。
<?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 = ...
:の&
前にsubject
a?
次のいずれかの方法を使用して、mailtoコマンドに追加された件名を追加できます。?subject out mailtoをmailtoタグに追加します。
<a href="mailto:test@example.com?subject=testing out mailto">First Example</a>
以下の例に示すように、タグの最後に&bodyを追加することで、メッセージの本文にテキストを追加することもできます。
<a href="mailto:test@example.com?subject=testing out mailto&body=Just testing">Second Example</a>
本文に加えて、ユーザーは&ccまたは&bccを入力して、CCおよび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>
少し読みやすくするために、別の行に分割しています。
<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>
ここにトリックがあります http://neworganizing.com/content/blog/tip-prepopulate-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>
はい:
これを使用して、mailtoフォーム要素とリンクエンコーディングを試します。
件名、本文(コンテンツなど)などをフォームに入力し、ボタンをクリックすると、ページに貼り付けることができるmailto htmlリンクが表示されます。
あまり知られていない、使用されている要素を指定することもできます:メールからのcc、bcc
[Test Zõne]
なる%5BTest%20Z%C3%B5ne%5D
、これにより、一部のスパムボットを回避できます)。
&#x
(一部のスパムボットを回避します)。
RFC 2368によると、メッセージ本文でHTMLを使用することはできないことに注意してください。
特別なhname "body"は、関連付けられたhvalueがメッセージの本文であることを示します。"body" hnameには、メッセージの最初のtext / plain body部分のコンテンツを含める必要があります。mailto URLは主に、一般的なMIME本文ではなく、実際には自動処理の内容(メーリングリストの「購読」メッセージなど)である短いテキストメッセージの生成を目的としています。
次に、オプションの件名と本文を含むmailto:リンクを生成するのに役立つ実行可能なスニペットを示します。
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>
メールにhtmlコンテンツを追加する場合は、メッセージ本文のhtmlコードをURLエンコードして、mailtoリンクコードに含めますが、このリンクからのメールのタイプをプレーンテキストからhtmlに設定できないので問題があります。リンクを使用するクライアントは、デフォルトでHTMLメールを送信するためにメールクライアントを必要とします。ここでテストしたい場合は、リンクで画像をラップした単純なmailtoリンクのコードです(表示用に角型のURLが追加されています)。
<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">
htmlタグはURLエンコードされています。