電子書籍の厳選無料作品が豊富!

こんにちわ。フォームメールで時刻を設定して、その時間に送信できるようにしたいのですが可能でしょうか?以下のように書いたのですが、うまくいきませんでした。どうかご教授ねがいます。よろしくおねがいします。

$gettime = '200511251300';
###2005年11月25日13時00分に送信したい。

sub menu {
print "Content-type: text/html\n\n";
print <<EOF;
<html>
<head>
</head>
<body>

<form method="post" action="$script">
<input type="hidden" name="action" value="send">
<input type="submit" value="配信確認">
</form>
</table>
</body>
</html>
EOF
}

sub send{
if($gettime eq $gettime){&sendmail;}
else{&mes('設定した時間に送信します')}

}

sub sendmail{
#メール送信のサブルーチン省略
}

sub mes{
「設定した時間を送信する」を表示するHTML省略
}

sub time{
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
@wday_array = ('日','月','火','水','木','金','土');
$timedata = sprintf("%04d%02d%02d%02d%02d",$year+1900,$mon +1,$mday,$hour,$min);
$years=$year+1900;
$mons=$mon+1;

A 回答 (1件)

がると申します。


おっしゃる機能を実装するためには、最低でも
・送りたいメールをプログラム側で一時的に預かる機能(バッファリングとかキューイングとか呼びます)
・定期的に時刻をチェックして「所定の時刻ならメールを送信する」機能
の2つが必要です。
で、後者には、UNIX系であれば大抵の場合cronと呼ばれるものを用います。

ですので、もしcronの設定が出来ないようであれば、おっしゃる機能の実装は難しいかと思われます。
# ほぼ毎分のように誰かがCGIを叩くことを「期待」して…っていう怪しげな実装が出来なくもないのですが。
    • good
    • 0

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