アプリ版:「スタンプのみでお礼する」機能のリリースについて

忙しい中見ていただきありがとうございます。

家にHDDレコーダーがあり、その中の機能でメールで録画予約をできるというものがあります。
しかし、その構文が難しいためHTMLでプルダウンでチャンネルや録画画質を選択し、開始時刻・終了時刻をテキスト入力して、メールで送信するようなページを作りたいのです。

メールの本文には
open **** prog add yyyymmdd hhmm hhmm D011
という文を作りたいです。
これは機械のほうで決まっているので変更できないです。
****はパスワード
yyyymmddは録画日
1つ目のhhmmは開始時刻
2つ目のhhmmは終了時刻
D011はチャンネルです。

必ず、携帯やパソコンでメーラーを立ち上げて送信したいです。
これは結果やエラー報告が送信元のメールアドレスに返信が来るためです。

イメージとしてはこんな感じです。
http://horiguchi.dip.jp/rec/

なお、HDDレコーダーでのPO3やSMTPの設定はできています。

HDDレコーダーの機種
東芝 RD-E304K
です

質問等あれば聞いてください
よろしくお願いします

A 回答 (4件)

No2,No.3です。

ご提示のイメージのページをそのままいただいて、
PHPのページを作ってみました。
宛先を自分のメールアドレスにして実験したらきたいどおりの
メールが届きました。我もこのレコーダー買おうかなあ...
この方法だと、送信時にはメーラー不要です。
結果やエラー報告を見るときメーラーを立ち上げればよいのです。
全部PHPですから携帯でもOKのはずです。
(必用な物)
PHP Ver5 以上
※PHPのPEARパッケージ(PEAR:Mail,PEAR:Mail_MIME)
※外部SMTPサーバーを使わず、自サイトのSMTPならPEARは不要)
(補足)
・html部分のコ-ドはほとんど質問者様のをいただきました。
・送信内容の事前確認や入力値のバリデーションチェックはさぼってます。
 (改造の余地おおいにあり)
<サンプルPHP>
<?php
mb_language("japanese");
mb_internal_encoding("UTF-8");
set_include_path(get_include_path() . PATH_SEPARATOR . '../local-pear');
require_once "Mail.php";
require_once "Mail/mime.php";
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja-JP">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Expires" content="0">
<style type="text/css">body {background-color:#66CCFF;}</style>
<title>録画予約</title>
</head>
<body>
<h3>録画予約を行います</h3>
<?php
if (isset($_POST['action']) && $_POST['action'] == 'submitted') {
$RecPassword ="****";
$hizuke=$_POST['年'].$_POST['月'].$_POST['月'];
$fromTime=$_POST['st'].$_POST['sm'];
$toTime=$_POST['ft'].$_POST['fm'];
$ch=$_POST['ch'];
$body = "open ".$RecPassword." prog add ".$hizuke." ".$fromTime." ".$toTime." ".$ch;
echo '<pre>';
echo $body."\n";
echo 'この内容で送信しました。'."\n";
print_r($_POST);
echo '<a href="'. $_SERVER['PHP_SELF'] .'">戻る</a>';
echo '</pre>';
$body = mb_convert_encoding($body, "ISO-2022-JP", "auto");
$mail_params = array(
"host" => "smtp.***.***.**", //あなたの契約してるSMTPサーバー名
"port" => 25, //SMTPのポート番号(普通は25)
"auth" => true,
"username" => "hoge", //あなたのメールアカウントの@の前 hoge@xxx.xxx.xx
"password" => "*****", //あなたのメールアカウントのパスワード
"localhost" => "localhost"
);
$mailObject = Mail::factory("smtp",$mail_params);
$recipients = "XXXXXX@XXXX.XXXX.XXXX"; //レコーダーのメールアドレス
$mail_headers = array(
"To" => "XXXXXX@XXXX.XXXX.XXXX", //レコーダーのメールアドレス
"From" => mb_encode_mimeheader(mb_convert_encoding("あなたの名前","ISO-2022-JP","auto"))."<hoge@xxx.xxx.xx>", //返信先のあなたのメールアドレス
"Subject" => mb_encode_mimeheader("録画予約")
);
$mailObject -> send($recipients,$mail_headers,$body);
}else{
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" name="mail" method="post">
日時<BR>
<select name="年">
<option value="2010">2010</option>
<option value="2011">2011</option>
<option value="2012">2012</option>
</select>年
<select name="月">
<option value="01">01</option>
<option value="02">02</option>
<option value="03">03</option>
<option value="04">04</option>
<option value="05">05</option>
<option value="06">06</option>
<option value="07">07</option>
<option value="08">08</option>
<option value="09">09</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select>月
<select name="日">
<option value="01">01</option>
<option value="02">02</option>
<option value="03">03</option>
<option value="04">04</option>
<option value="05">05</option>
<option value="06">06</option>
<option value="07">07</option>
<option value="08">08</option>
<option value="09">09</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>日
<BR>
<BR>
開始時刻(24時間表記)<BR>
<input type="text" name="st" value="" size="2" maxlength="2">:<input type="text" name="sm" value="" size="2" maxlength="2"><BR>
<BR>
終了時刻(24時間表記)<BR>
<input type="text" name="ft" value="" size="2" maxlength="2">:<input type="text" name="fm" value="" size="2" maxlength="2"><BR>
<BR>録画チャンネル<BR>
<select name="ch">
<option value="D011">RAB青森放送</option>
<option value="D021">NHK教育1・青森</option>
<option value="D031">NHK総合1・青森</option>
<option value="D051">青森朝日放送</option>
<option value="D061">ATV青森テレビ</option>
<option value="D081">めんこいテレビ1</option>
<option value="D111">MCTV</option>
<option value="BS101">NHK BS1</option>
<option value="BS102">NHK BS2</option>
<option value="BS103">NHK h</option>
<option value="BS141">BS日テレ</option>
<option value="BS151">BS朝日1</option>
<option value="BS161">BS-TBS</option>
<option value="BS171">BSジャパン</option>
<option value="BS181">BSフジ・181</option>
<option value="BS191">WOWOW</option>
<option value="BS200">スター・チャンネル</option>
<option value="BS211">BS11</option>
<option value="BS222">TwellV</option>
</select><br>
<BR>
以下オプションです。<BR>
変更しなくても録画できます。<BR>
<BR>
優先度<BR>
<select name="優先度">
<option value="YS" selected>普通</option>
<option value="YX">高い</option>
</select><BR>
<BR>
画質<BR>
<select name="画質">
<option value="VS" selected>SP</option>
<option value="VL">LP</option>
<option value="VA1">A1</option>
<option value="VA2">A2</option>
<option value="VD">DL</option>
</select><BR>
<BR>
音質<BR>
<select name="音質">
<option value="A1" selected>M1</option>
<option value="A2">M2</option>
<option value="AL">LPCM</option>
</select><BR>
<BR>
記録先<BR>
<select name="記録先">
<option value="SH" selected>HDD</option>
</select><BR>
<BR>
自動削除<BR>
<select name="自動削除">
<option value="KN" selected>しない</option>
<option value="KY">容量不足時</option>
</select><BR>
<BR>
DVD互換<BR>
<select name="互換">
<option value="DN" selected>切</option>
<option value="DM">主音声</option>
<option value="DS">副音声</option>
</select><BR>
<BR>
高レート節約<BR>
<select name="高レート節約">
<option value="HN" selected>しない</option>
<option value="HY">する</option>
</select><BR>
<BR>
ライン音声選択<BR>
<select name="ライン音声選択">
<option value="LS">ステレオ</option>
<option value="LL">L</option>
<option value="LR">R</option>
<option value="LD">主+副</option>
</select><BR>
<BR>
無音声部分自動チャプター分割<BR>
<select name="チャプター分割">
<option value="CN" selected>切</option>
<option value="CY">入</option>
</select><BR>
<BR>
マジックチャプター(シーン)<BR>
<select name="シーン分割">
<option value="CMN" selected>切</option>
<option value="CMY">入</option>
</select><BR>
<BR>
マジックチャプター(本編)<BR>
<select name="本編分割">
<option value="CPN">切</option>
<option value="CPY" selected>入</option>
</select><BR>
<BR>
録画のりしろ<BR>
<select name="のりしろ">
<option value="ELN" selected>切</option>
<option value="ELY">入</option>
</select><BR>
<BR>
TS/RE<BR>
<select name="TS/RE">
<option value="RT1" selected>TS</option>
<option value="R1">RE</option>
</select><BR>
<BR>
予約の入/切<BR>
<select name="予約の入/切">
<option value="RY" selected>入</option>
<option value="RN">切</option>
</select><BR>
<BR>
<input type="hidden" name="action" value="submitted" />
<input type="submit" name="submit" value=" 送信 " />
</form>
</body>
</html>
<?php
}
?>
    • good
    • 0

CGIやPHP等サーバーサイドのプログラムを利用可能なら、


その方がaction="mailto:"よりはるかに確実です。

PHPではsendmail関数系が充実し、HTML/JAVASCRIPTとの親和性も
高いので、あなたの作ったHTMLをベースに比較的簡単にメール送信
を実装できます。
http://techblog.ecstudio.jp/tech-tips/mail-japan …
http://techblog.ecstudio.jp/tech-tips/mail-japan …
しかし、メール送信等は結構セキュアーにしたいし、確実性を
追求したいですから、完成パッケージを使うほうがいいでしょう。
 PHPメール送信フォームで検索したらいっぱい見つかります。
これ↓なんかよさそうです。
http://jubei.co.jp/formmail/
    • good
    • 0

ちなみに、そのレコーダーさんは、


HTML形式も受け付けてくれるのですか?
文字エンコードは何でもOKなんですか?

この回答への補足

形式はテキスト形式です。
HTML形式には対応してないです。

エンコードに関しては記述がないので不明です。

このたびはご回答いただきありがとうございました

補足日時:2010/03/17 23:15
    • good
    • 0

適当に作ってみましたが色々難しいようです。


まず、Javascriptを使用しているので携帯の標準ブラウザではまず動かないと思います。
携帯でもPC用サイトが見れるフルブラウザならもしかしたら動くかもしれませんが試してはいません。

携帯で使えなければ困るというのであればサーバ側のCGIやphpを使う必要があります。
この場合の結果のメールについては電子メールでは返信先を設定する事ができるので大丈夫ではないかと想像しますが、返信先を見てメールを送信するかどうかはHDDレコーダーの仕様にもよるので確証はないです。

以下、サンプルです。
<html>
<head>
<title></title>
</head>
<body>

<form onsubmit="return sendmail(this)">
<p>録画日
<input size="4">年
<input size="2">月
<input size="2">日
</p>

<p>開始時刻
<input size="2">時
<input size="2">分
</p>
<p>終了時刻
<input size="2">時
<input size="2">分
</p>
<p>チャンネル
<select>
<option value="D011">CH1 NHK総合</option>
<option value="D012">CH3 NHK教育</option>
</select>
</p>
<p>
<input type="submit" value="予約メール">
</p>
</form>

<script type="text/javascript">
F=document.getElementsByTagName('form')[0];
now = new Date();
F.elements[0].value = now.getFullYear();
F.elements[1].value = 1+now.getMonth();
F.elements[2].value = now.getDate();

function sendmail(F){
for(var i=1;i<7;i++) {
if(F.elements[i].value.length<2)F.elements[i].value='0'+F.elements[i].value;
}

cmnd = [
'open',
'add',
//'【ここにパスワード】',
F.elements[0].value+
F.elements[1].value+
F.elements[2].value,
F.elements[3].value+
F.elements[4].value,
F.elements[5].value+
F.elements[6].value,
F.elements[7].value,
].join('%20');
location.href="mailto:【送信先メールアドレス】?body="+cmnd;
return false;
}
</script>

</body>
</html>
    • good
    • 0
この回答へのお礼

イメージとしてはOKです。
携帯で使えないのは検討したいと思います。

ちなみにこのサーバーでCGIなど使えるので、もし合うフリーのCGIなどありましたら、教えていただければ幸いです。

このたびは、回答ありがとうございました。

お礼日時:2010/03/17 23:13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!