mailtoの使い方
[参考記事] PHPでHTMLメールを送る方法
[参考記事] mb_send_mailでCCやBCCを指定する 表示名を指定する
[参考記事] mail関数やmb_send_mail関数でReturn-Pathを設定する方法
[参考記事] PCからデコメールを送るときの仕様
[参考記事] mailto本文での改行 ドコモのN、Pで送信に失敗します
[参考記事] 携帯サイトでのmailtoの使い方
mailtoをリンクとして使う
<a href="mailto:test@example.com">メールを送る</a>
タイトルを指定する
<a href="mailto:test@example.com?subject=title">メールを送る</a>
タイトルと本文を指定する
<a href="mailto:test@example.com?subject=title&body=contents">メールを送る</a>
属性 | 用途 |
---|---|
subject | タイトル(件名) |
body | 本文 |
cc | CC(同報) |
bcc | BCC(匿名同報) |
メールアドレスを指定しない
<a href="mailto:?subject=title&body=contents">メールを送る</a>
mailtoをフォームとして使う
この方法はブラウザによって実装がさまざまなのでお勧めできません。
<form method="post" action="mailto:test@example.com?subject=title&body=contents"> <input type="text" name="comment" value="" /> <input type="submit" value="メールを送る" /> </form>
methodにGETを指定するとURL後に値が付与されて送信されますが、POSTを指定すると送信リクエストのヘッダーの中に値が付与されて送信されます。
このためGETは文字数が多いときにはURLが長くなります。
しかしメール送信については、ブラウザ内で処理され同じ端末のメールソフトに送られるためあまりこの動作を意識する必要はないと思います。
ではGETでもPOSTでもどちらでもよいのかとなると、そうではありません。
<form>は標準では送信内容をapplication/x-www-form-urlencoded形式で送ることになっています。
application/x-www-form-urlencoded形式は送信内容をURLエンコードで送信するため、受信側ではこの送信内容を読むことができない場合があります。
受信側でもメッセージが読めるように送るには、text/plain形式やmultipart/form-data形式で送信するとよいです。
HTML 4.0 仕様書では、この送信形式の指定(enctypeの指定)ができるのはmethod="post"とされています。
<form>をtext/plain形式で指定する方法
<form method="post" action="mailto:test@example.com" enctype="text/plain">
<form>をmultipart/form-data形式で指定する方法
<form method="post" action="mailto:test@example.com" enctype="multipart/form-data">
multipart/form-data形式は、RFC1867で提案され、RFC2388で更新されたものです。
RFC2070にも記載されています。
挙動はメーラーではなくブラウザによって異なります。
Internet Explorer 6
フォーム要素があると直接送信されます。
フォーム要素がないと、新規メール画面が出ます。
getなら常に、新規メール画面が出るが、タイトルが文字化けすることがあります。
subjectがないと『 Microsoft Internet Explorer から投稿されたフォーム 』というタイトルになります。
Firefox
常に新規メール画面が出ます。
下記はIEで送信した場合の内容です。
指定なし(application/x-www-form-urlencoded形式)
body内容も送信されます。
comment=%83e%83X%83g
enctype="text/plain"
body内容は送信されません。
comment=テスト
enctype="multipart/form-data"
body内容も送信されます。
-----------------------------7d9cb220254 Content-Disposition: form-data; name="comment" テスト -----------------------------7d9cb220254--
関連記事
- HTMLソースの最後にコメントで『Quick Cache』とあるページ
- inputタグにhiddenで隠された__VIEWSTATEとは(通信の盗聴、値の改ざん、回線の圧迫)
- Twitterウィジェットのカスタマイズ(ウィジェット部分のHTML・CSS)
- 多言語対応テキストエディタの一覧
- サイトマップ(sitemap.xml)のつくり方とちょっとしたテクニック
- Windows7やWindowsVistaでTelnetを使用する方法
- SELECTタグで色を選択する場合のサンプル
- ナインパッチとは(9-Patch)
- SSL(HTTPS)でファイルのダウンロードができない場合
- Google Chromeで一部の文字だけ四角記号に文字化けするときの対処法
- 特定のディレクトリのみベーシック認証を外す方法
- Firefox、Chromeなどで文字化けを防ぐ方法 ヘッダー情報に文字コードを指定
- BRタグが<br />と書ける理由 『<br> が <br /』で『</br> が >』になる
- DOCTYPE宣言/XML宣言
- htmlファイルのコメントに <!--# から始まるものは使用しないほうがいい
- IPアドレス制限とベーシック認証を併用する方法
- サブドメインにアンダーバーがあるとクッキーは使えない
- 会員専用ページを作る方法 (ベーシック認証 / Basic認証 / 基本認証)
- 都道府県を選択するときのサンプルコード (JISコード準拠)
- 生年月日などで年を選択するときのサンプルコード
- 連続する半角英数字を途中で自動改行させるには、​が使えます
- SSLの警告
- PHP
- Deprecatedの修正例(POSIX)
- PDO_MYSQLをインストールする方法
- file_get_contentsで$http_response_headerを使用するときの注意点
- ユーザーエージェントからのキャリア、世代判別
- PEAR・PECLをインストールする方法
- ファイルダウンロード時のファイル名が文字化けする対処法
- Fatal error: Call to undefined function imagecreatefromjpeg() の対処法
- NetCommons(ネットコモンズ)
スポンサーリンク