SQLの窓 イラストAC フリー素材

2013年07月26日

IE拡張メニューで取得したテキストをメールで送る

ネットサーフィンしていて、気になるデータや URL をどこかにメモする事があると思いますが、お気に入りばかりを使っているとやたら増えて整理できないし、掲示板へ移動するのも面倒だったりします。

そこで、IE 拡張メニューを利用してブラウジング中にデータを特定のメールアドレスへ送ってしまおうというものです。
<?
header( "Content-Type: text/html; Charset=shift_jis" );
header( "Expires: Wed, 31 May 2000 14:59:58 GMT" );

foreach( $_POST as $Key => $Value ) {
	$_POST[$Key] = str_replace("\\\\", "\\", $Value );
	$_POST[$Key] = str_replace("\\'", "'", $_POST[$Key] );
	$_POST[$Key] = str_replace("\\\"", "\"", $_POST[$Key] );
}

mb_language( "ja" );
mb_internal_encoding("EUC-JP");
$subject = mb_convert_encoding( "ブラウザ報告(lightbox)", mb_internal_encoding(), "SJIS" );
$body = mb_convert_encoding( $_POST['text'], mb_internal_encoding(), "SJIS" );
$body = mb_convert_kana($body,'K','euc-jp');

$to = mb_convert_encoding( "宛先", "JIS", "SJIS" );
$to = "=?ISO-2022-JP?B?" . base64_encode($to) . "?= <宛先メールアドレス>";
$from = mb_convert_encoding( "差出人", "JIS", "SJIS" );
$from = "From: =?ISO-2022-JP?B?" . base64_encode($from) . "?= <差出人メールアドレス>";
mb_send_mail($to, $subject, $body, $from );

?>
メール送信が終了しました。
メール送信は、サーバーサイドの PHP を使って、sendmail で送信します。その為の最低限のコードは上記のようなコードですが、$_POST['text'] が本文ですので、name=text であるテキストエリアが IE 拡張メニューで表示した HTMLに存在すれば良いわけです。
<FORM
	method="POST"
	action="http://host/サーバ側処理.php"
>
<TEXTAREA
	name="text"
	style='width:790px;height:550px;'
></TEXTAREA>
<INPUT
	type="submit"
	name="send"
	value="送信"
><br>
</FORM>
上記のとおり、 テキストエリアは問題無いので、action を前述の PHP の URL に変更すれば良い事になります。メール送信の実際は、さくらインターネットでテストしましたが、うまくいっています。

更新履歴
2009-04-06 : 最初の投稿
2013-07-26 : 再検証前の本文更新

関連する記事

IE拡張メニューで取得したテキストをメールで送る(CDO.Message版)



【PHPの最新記事】
posted by at 2013-07-26 14:13 | PHP | このブログの読者になる | 更新情報をチェックする