web-dev-qa-db-ja.com

Mailto:を使用してEメールの件名/内容を設定できますか?

Mailto:を使用するときにEメールの件名/内容を設定することは可能ですか?

812
Jiew Meng

はい、mailtoを使ってすべての秘訣とテクニックを見てください: http://www.angelfire.com/dc/html-webmaster/mailto.htm

mailto件名の例:

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

mailtoと内容:

<a href="mailto:?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>

コメントで示唆されているように、subjectbodyはどちらも適切にエスケープする必要があります。特定の場合には手動でコーディングするのではなく、それぞれにencodeURIComponent(subject)を使用します(改行の%0Aなど)。

1349
Haim Evgi
<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>

このコードを使用して、件名、本文、cc、bccを設定できます。

110
oditiwebs.com

mailto: URLスキームは RFC 2368 で定義されています。また、情報をURLおよびURIにエンコードするための規約は、 RFC 1738 、次に RFC 3986 で定義されています。これらは、bodyおよびsubjectヘッダーをURL(URI)に含める方法を規定しています。

mailto:[email protected]?subject=current-issue&body=send%20current-issue

具体的には、電子メールアドレス、件名、本文をパーセントエンコードして上記の形式にする必要があります。パーセントエンコードされたテキストはHTMLでの使用には合法ですが、 HTML4標準 によると、このURLはhref属性での使用にはエンティティーエンコードされている必要があります。

<a href="mailto:[email protected]?subject=current-issue&amp;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>";
?>
32

次のいずれかの方法で、mailtoコマンドに追加された件名を追加できます。 mailtoタグに?subject out mailtoを追加します。

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

以下の例に示すように、タグの末尾に&bodyを追加することで、メッセージの本文にテキストを追加することもできます。

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

本文に加えて、ユーザーは、CCフィールドとBCCフィールドに入力するために&ccまたは&bccと入力することもできます。

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

mailtoタグに件名を追加する方法

23
niksmac
mailto:[email protected]?subject=Your+subject
12
payne

これがトリックです http://neworganizing.com/content/blog/tip-prepopulate-mailto-links-with-subject-body-text

<a href="mailto:[email protected]?subject=Your+tip+on+mailto+links&body=Thanks+for+this+tip">tell a friend</a>
8
Arun Kushwaha

もう少し読みやすくするために、別々の行に分割しました。

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

はい:

Mailtoフォーム要素とリンクエンコーディングを試すには this を使用してください。

件名、本文(コンテンツなど)などをフォームに入力してボタンを押すと、mailto htmlリンクが表示されます。これをページに貼り付けることができます。

めったに知られていない、使われていない要素を指定することもできます:cc、bcc、電子メールから。

7
woz

はい、あなたはこれを好きになることができます:

mailto: [email protected]?subject=something
6
MeanEYE

RFC 2368 に従って、メッセージ本文にHTMLを使用することは不可能であることに注意してください。

特別なhname "body"は、関連付けられているh値がメッセージの本文であることを示します。 "body" hnameはメッセージの最初のtext/plain body部分の内容を含むべきです。 mailto URLは、一般的なMIMEボディではなく、実際には自動処理の内容である短いテキストメッセージ(メーリングリストの "購読"メッセージなど)の生成を主な目的としています。

クレジット: https://stackoverflow.com/a/13415988/1835519

5
Jure Sah

これは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>
1
congusbongus

あなたのEメールにHTMLコンテンツを追加したい場合は、URLをメッセージ本文用にあなたのHTMLコードをエンコードしてあなたのmailtoリンクコードに含めてください、しかし問題は平文からhtmlへのこのリンクからEメールのタイプを設定できません、リンクを使用しているクライアントは、デフォルトで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エンコードされています。

1
serdarsenay

私はこれを簡単にするためのオープンソースのツールを作成しました。必要な文字列を入力するとすぐにmailtoが得られます。

mailto.now.sh

???? mailtoの完全な電子メールのテンプレート

website demo

0
Dawson B