今更mailto?
鬼門
Almalinuxにしてからの鬼門がCGIです。
拙宅サーバーのサーバーOSはAlmalinux8.1と9.5の2種類がありますが、両者ともapachのバージョンが2.4*で、簡単なテストファイルを作って試すとOKなのですが、kentwebさんに置いてあるメールフォームなどはエラーで返され、LOGで見ても原因がはっきりしません。。。
AddHandler cgi-script はユーザーディレクティブで利用可能にしているし、mod_cgidもちゃんとロードしているし。。。
ググると様々な対応策が出てきますが、それらを全てやってみてもNGです。(泣
ところがcheck.cgiが同梱されていたことを思い出し、ダメ元で表示させてみると。。。ちゃんと表示されるじゃないですか!?
ということは、サーバー側に問題はないと思われるのですが。。??
実はCGIプログラムのセキュリティリスクを考え、CGIは禁止しようと考えているくらいですから、拙生的にはまったく構わないのですが、perlで書いたCGIをメールフォームに使っているサイトが4つあります。
PHPなどに変更していただけるようお願いしましたが、技術的にできないと言われた2か所には、mailtoでの対応をしていただきました。
ま、とりあえずはそれでOKをいただいていますが、cgi不可もあり、のまま長い時間が経過しちゃいました。💦
今回は代替案としてのmailtoについてが本題です。
フォームと異なるのは、アクセスした方がディフォルトに設定してあるメールアプリが起動することです。
フォームの場合、メールアドレスや氏名などを記入する欄があるのが一般的で、mailtoにおいてもそれらしく使い勝手が近づくように、ちょっとしたノウハウを書いておきます。
以下はmailtoの例です。
いたずらメールはやめてね!笑笑
ソース
<script type="text/javascript"> o = "oba"; b = "-q@"; a = "oba-"; q = "q.com"; document.write('<big><strong><a href="mailto:'+o+b+a+q+'?subject=Oba-Qへメール&body=%0D%0Aメールアドレス(必須):%0D%0Aお名前(必須):%0D%0A%0D%0A電話番号(電話での%20ご連絡を ご希望の場合):">こちら</a></strong></big>'); </script>
実行させたくないタグは面倒ですが文字コードで書くようにしました。笑
基本的な書式の
mailto:送信先メールアドレス では、
ソースでメルアドを晒してしまい、スパムの餌食になるので、javascriptで分割してたものを合わせ技で表示することで回避しています。
?subject=Oba-Qへメール ← タイトルへ自動記載される
&body=メールアドレス・・・← 本文へ自動記載される
(送信元がわかるので必要ないかもです。)
そのほかの書式
document.write();は1行で。
本文を改行するときは %0D%0A
空白行を作りたいときは %0D%0A%0D%0A
スペースを空けて書くだけでよいので必要ないかもしれませんが、半角スペースを空けたいときは %20
上記には設定していませんが
?cc=送信先メールアドレス2
で複数アドレスで受け取れます。
もちろん
?=bcc
も可能です。
複数のコマンドは&でつなぎます。
こんなもんかな?
これらを駆使すればそれなりに使い勝手が良くなると思っているのですが。。。how?
メールマガジン
メルマガ配信をしたいというユーザー様のご依頼があり、本日よりオープンソースのphpListで構築開始であります。
もも三昧
コピペして編集し忘れ、同じものを上げてしまいました。💦💦
アップし直します。
連れ合いインスタグラム
拙生のインスタ ⇒ こちら
(要ログイン)