mailto
HTMLにはメールを送信するための要素(タグ)がありません。ハイパーリンクを貼るときに、
<a href="http://www.yahoo.co.jp">ヤフージャパン</a>
のように記述すればヤフージャパンをクリックしたらヤフーのページにリンクを張ることが可能です。
このときhref=の後”と”の間にページのアドレスを書きます。このhttp:www.yahoo.co.jpは:で(スキーム)と(スキームの書式)に分かれます。
メールを送信する際はmailtoスキームを使用する事でメールの送信が可能に(100%でありません)なります。yamamoto@hoge.co.jpにメールを送信したい場合、
<a href="mailto:inst_yamamoto@yahoo.co.jp">メール送信</a>
とすることでメール送信をクリックすればブラウザ(ユーザーエージェント)に登録されているメールソフトが立ち上がります。(ブラウザに依存します。)
件名を設定する。
<a href="mailto:yamamoto@hoge.co.jp">メール送信</a>
を使用すれば送信先のアドレス欄にmailto:以降のメールアドレスが記入された状態でメーラーが起動します。
複数の箇所でmaitoによるメール送信をする場合いったいサイト内のどこのmaitoをクリックしたのかわかりづらいです。mailto毎にアドレスを変える方法もありますが、件名をセットできればわかりやすくなります。
メールアドレスの後ろに ?subject=件名とします。
<a href="mailto:yamamoto@hoge.co.jp?subject=件名有り">メール送信</a>
メール送信をクリックでmailtoの使い方についてという件名が入った状態になります。文字コードとメーラーとブラウザの組み合わせで日本語が文字化けする場合もあります。(shift-jisをURLエンコードしておく方法もあり)
その他の設定
複数のあて先の設定。カンマ(,)で区切ってメールアドレスをかきます。(カンマが上手くいかない場合はセミコロン;で試してください。)
mailto:アドレス,アドレス
CC(カーボンコピー)を追加。?cc=の後ろにアドレスを書く。
mailto:アドレス?cc=アドレス
BCC(ブラインドカーボンコピー)を追加。?bccの後ろにアドレスを書く
mailto:アドレス?bcc=アドレス
本文を追加。?body=後ろに日本文を書く。
mailto:アドレス?body=本文
複数を使う場合は&で結合しますが、HTML内では&は&に置き換えましょう。複数使用する場合は2つ目以降の?は不要です。
改行についてもOSにより改行コードが違うので振り分け処理が必要です。windowsの場合は%0D%0Aを使用しますがうまく行かないこともあります。
<a href="mailto:yamamoto@hoge.co.jp?subject=お問い合わせ&body=お名前%0d%0aお所%0d%0a商品名">お買い上げ</a>
formからの送信
CGIを使用せずにメールを送信する方法としてformのactionにmailtoを使用する方法があります。
ただしこの場合もパソコンのメールソフトを使用することになります。
<form action="mailto:inst_yamamoto@yahoo.co.jp" method="post" enctype="multipart/form-data">
<p>お名前<input type="text" name="shimei"></p>
<input type="submit" value="送信">
</form>