サマリ | 件名+本文つきで外部メーラー起動 |
---|---|
リビジョン | 1.0 |
対応バージョン | 1.4.x |
投稿者 | sts |
投稿日 | 2007-11-15 (木) 10:22:50 |
件名と本文をつけて専用メーラーを起動する(Windows用)
従来、mail.inc.php や、mailform.inc.php などの、ブラウザ内から直接メールを 発信するプラグインはあったのですが、発信者の入力を忘れたり、間違ったりした場合、 誰に連絡を取ればいいか不明になってしまう場合がありました。
会社業務で利用する場合、メーラーは統一された環境であることが前提と考え、 件名と本文(1行のみ)を付与した形でメーラー本体を起動できるものがあれば、 メーラー内で、そのまま本文を追記して送信するだけで、発信者の入力も省略できて 便利かなと思い、作ってみました。内容的には簡単なスクリプトです。
PHP4.4、MS-IIS5.0で動作確認しました。
引数:
tag = ブラウザ内に表示されるハイパーリンク文字(省略するとtoの内容) to = メール送付先 cc = メールCC先(省略可能) subject = 送信メール作成時の件名文字列 body = 本文(1行形式のみ)
subject と body に日本語を使用する場合、html側をShift-JIS体系以外 の環境で使用すると文字化けを起こします。 そのようなときは、引数文字に、UTF-8体系(%付き文字)に変換したもの を指定するようにしてください。
自作プラグイン/mailto.inc.php/source (直接ソースを貼っています)
内部的には、次をreturnさせているだけです。 <A HREF="mailto:・・・?cc:・・・?subject=・・・?body=・・・"> anchor </A>
function mailto_common($tag, $adto, $adcc, $sbj, $body) { // ↓追加 $sbj = mb_convert_encoding($sbj,"SJIS","auto"); $sbj = urlencode($sbj); $body = mb_convert_encoding($body,"SJIS","auto"); $body = urlencode($body); $body = str_replace("%26br%3B","%0D%0A",$body); // ↑追加