mailto:を使用してメールの件名/コンテンツを設定できますか?


回答:


1460

はい、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

29
本文にHTMLを使用することは可能ですか?
Jiew Meng、2011

18
これは完全にクライアント固有です。一般的なケースでは、違います。
Tripleee 2013年

4
あくまでも参考として:あなたは、件名htmlescapeする必要はありません
オスカーペレス

17
W3Cでは、次の規則に従って文字列をエンコードする必要があることに注意してください。文字はNFCで表し、スペースは%20としてエスケープする必要があります。
gordie

96
他のケースでは、誰もあなたが%0D%0Aのシーケンスを使用して、身体に改行を追加することができます迷っている- cubetoon.com/2008/...
パーカー

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>

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


39

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

ここにあなたの電子メールが、その中にURLがある場合のためにはるかに深い一例であり、URLはニーズが符号化するというものがあること:stackoverflow.com/questions/4744888/...
ウィリアム・エントリケン

1
行にタイプミスがあると思います$uri = ...:の&前にsubjecta?
jost21

24

次のいずれかの方法を使用して、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>

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


13

これを簡単にするためのオープンソースツールを作成しました。必要な文字列を入力すると、すぐに次のようになりますmailto

mailto.now.sh

to️mailtoの完全なメールのテンプレート

ここに画像の説明を入力してください


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

1
subjectはテキストではありません。これはテーブルです。それを追加する方法。
デビッド

9

少し読みやすくするために、別の行に分割しています。

<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
この質問の回答は5年前
varun aaruru 2016年

14
あなたが何かを郵送したいとき、それは今日でも使用されている
quemeful


7

はい:

これを使用て、mailtoフォーム要素とリンクエンコーディングを試します。

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

あまり知られていない、使用されている要素を指定することもできます:メールからのcc、bcc


また、このhrefフィールドコンポーザーの非常に便利な機能は、すべての文字を16進数にエンコードする機能です(例:に[Test Zõne]なる%5BTest%20Z%C3%B5ne%5D、これにより、一部のスパムボットを回避できます)。
アームフット2015

つまり、すべての文字をエンコードすることを選択した場合、それらはすべてHTML表記に変換されます&#x(一部のスパムボットを回避します)。
アームフット2015

4
このリンクは死んでいます。
Bram Vanroy、2018

6

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

mailto: email@host.com?subject=something

2
そこにスペースがあってはいけないと思いますか?
nafg 2016

これにはスペースが必要です。
ハッサンラザ

5

RFC 2368によると、メッセージ本文でHTMLを使用することはできないことに注意してください。

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

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


2
問題は、主題と内容をどのように設定するかを尋ねることです。フォーマットについては触れていません。これは回答に注目するのに役立ちますが、何可能でどのようにそれを達成するかについて少し省略しました。それがなければ、これはコメントであり、答えではありません。
クエンティン

確かに、これをこの質問への回答として入れていただいたことに本当に感謝しています。それがまさに私が知る必要があり、自分自身に尋ねていたものだからです。したがって、クエンティンはこれはOPの質問には答えないと考えていますが、私がこの投稿を提起したものを探していたという私の答えです。ジュレ、本当にありがとう!
user1567291 2018

3

次に、オプションの件名と本文を含む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

メールに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エンコードされています。


本体<a href>に、hrefと終了タグの間にテキストとテキストのみが含まれる例も投稿できますか?ありがとう
user1567291 2018

<a href="<same as above> ">これはリンクテキストです</a> @ user1567291
serdarsenay 2018

これは機能しません。電子メールクライアントは、すべてのhtmlタグをリッチテキストドキュメントとして処理するのではなく、テキストとして表示します。
ΕГИІИО
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.