2016/11/24
現在でも使用されておりますが、プログラムを書いたほうがより望ましいと思われます。
mailto: はスキームというものでメールアドレスを指定しWebブラウザに内蔵されたメールソフトを起動させます。メーラーを内蔵していないWebブラウザは、これに対応できません。ただし別のメーラーを起動することもあります。
a要素に記述
<a href="mailto:puhyu@pahyu.co.jp">puhyu@pahyu.co.jp</a>
のようにa要素のhref属性にmailtoを指定するとメーラーが立ち上がりメールを送信してもらうことが可能になります。
<a href=mailto:puhyu@pahyu.co.jp?subject=問い合わせ>問い合わせ</a>
などのようにメールアドレスの後ろに?subject=件名を付加することでメールの件名を記入しておくことも可能です。ただしメーラーにより振る舞いが違ったり、文字化けが発生することもあります。(Shift-JISをURLエンコードしておく方法もあり)
他にも?bodyや?ccや?bccも使用することが可能ですただし複数使用する場合&でつなげれば可能ですが&を実態参照の&にする必要があります。
<a href=mailto:puhyu@pahyu.co.jp?subject=問い合わせ&body=お名前%0D%0Aメールアドレス>問い合わせ</a>
上記をURLエンコードする
<a href=mailto:puhyu@pahyu.co.jp?subject=
%96%e2%82%a2%8d%87%82%ed%82%b9&body=%82%a8%96%bc%91O%0d%0a%83%81%81%5b%83%8b%83A%83h%83%8c%83X>問い合わせ</a>
改行についてもOSにより改行コードが違うので振り分け処理が必要です。windowsの場合は%0D%0Aを使用しますがうまく行かないこともあります。
form要素に記述
formのactionにmailtoを記述することも出来ます。
<form method="post" action= mailto:puhyu@pahyu.co.jp enctype="multipart/form-data">
enctype="multipart/form-data"で(日本語で受け取れる)文字化けが防げます。
この方法もメーラに依存するのでPHPなどを使ったフォーム構築が望ましいです。
そもそもメーラーが設定されていない環境もありますのでプログラムが置けない場合の代替策くらいでお願いします。