3

私は自動監視システムに取り組んでいます。MySQL データベースを持つ .NET アプリケーションを作成しました。このために、管理者がログインして、データベースで起動されたさまざまなクエリから必要なレポートを取得できる通常の ADMIN パネルを開発しました。パネルには、大まかな週ごとの要約である「要約レポート」もあります。今私が欲しいのは、このレポート (すべてのテキスト) が、7 日間の電子メール "xxxxx@xxx.com" に自動的に送信されるようにすることです。以前、いくつかの PHP スクリプトを使用して、送信ボタンのクリック時に電子メールを送信しました。以下のように。

<?php
if(isset($_POST['isPost']))
{
$header="From:".$_POST['customer_mail']."\r\nName:".$_POST['name']."\r\nCity:".$_PO        ST['city'];
$subject = $_POST['title'];
$message="From:$_POST[customer_mail]\r\nName:$_POST[name]\r\nPhone:$_POST[city]\r\n        \r\n\r\n\r\n".$_POST['details'];
$to = 'xxxxxxxxx@xxx.com';

$send_contact=mail($to,$subject,$message,$header);

if($send_contact)
{
echo "<h6 style='text-align:center;color:green'>Sent Successfully</h6>";
}
else
{
echo "<h6 style='color:red'>Error sending e-mail'</h6>";
}
}
?>

これは正常に動作する通常のメール送信スクリプトです。しかし、私が望む上記の目的のために、誰かがこのアクションを定期的かつ自動的に設定するのを手伝ってくれるか、これを行う方法について正しい方向に向けてくれますか. 私はそのようなphpスクリプトをグーグルで検索しましたが、満足のいく結果は得られませんでした. ~よろしく

4

4 に答える 4

4

これは cronjobs で実行できます。指定された時間/日付/間隔でコマンドを実行する長時間実行プロセス。

使用しているシステムに応じて、さまざまな方法があります。

誰かがあなたのために実行しているウェブサーバーにスクリプトがある場合/ウェブホストサービス

システム管理者に、cronjob を使用してスクリプトを実行するよう依頼してください。または、管理パネルで自分で設定できる場合は、ヘルプ ドキュメントを検索してください。詳細については、ウェブホストのシステム管理者にお問い合わせください。

自分のローカル マシンにスクリプトがある場合:

UNIX

phpスクリプトの実行方法、またはその問題に関するスクリプトについては、crontabについて読んでみてください。

たとえばcrontab -e 、crontab に次の行を入力して追加すると、cronjob は 1 時間ごとにスクリプトを実行します。

00 * * * * /usr/local/bin/php /home/Low-pointer/myscript.php

間隔で遊びたい場合の詳細情報は次のとおりです

ウィンドウズ

Windows を使用している場合は、スケジュールされたタスクを使用して php コマンドを実行できます。

たとえば、次のコマンドをスケジューラに追加します。C:\wamp\bin\php\php.exe -f C:\wamp\www\my_script.php

Web cron サービス ( Google it ) を使用することもできます。これらは、指定された時間にページ (Web サーバーなど) を実行するオンライン サービスです。無料または有料。

于 2014-04-30T18:37:01.863 に答える
3

Cpanel を使用して、cronjob を介してスケジュール メールを送信できます (使用している場合)。cpanel を開くと、crontab システムが表示されます。現在のコードをファイル (xx.php) に追加し、このコマンドを cpanel の crontab に追加します。

/usr/bin/php -q /home/public_html/xx.php
于 2014-04-30T18:39:57.540 に答える
1

誰もがすでに言ったように、タスクを作成するには cronjob を使用する必要があります。本番環境として Linux OS を使用しているとします。したがって、次のものが必要です。

1) php エンドポイント (例: www.mywebsite.com/emailsend.php ) または呼び出されたときに電子メールを送信する CLI php スクリプト。

2) 正しい crontab ルール

以下は、CURL を使用してエンドポイントを呼び出し、Web サーバーからの最終的な応答を含む html ファイルを保存する単純なシェル スクリプト ( mailsend.sh ) の例です。

#!/bin/bash

curl http://www.mywebsite.com/emailsend.php -o /path/to/my/mailsendreport/"$(date '+%Y-%m-%d-%H-%M-%S')".html

スケジュールされたタスクを cron に追加するには

crontab -e

次に、以下のようなルールを追加します

50 23 * * 6 sh /path/to/mailsend.sh  

「50 23 * * 6」とは?これは、週の 6 日ごとの 23 時 50 分に sh スクリプトが呼び出され、Web アプリと電子メールが送信されることを意味します。

これについて小さなドキュメントを書いたら、ここで見ることができます

乾杯

于 2014-04-30T18:54:22.753 に答える
0

「cronジョブ」を探しています。

編集:または、Windowsを使用しているように聞こえるので、「スケジュールされたタスク」

于 2014-04-30T18:31:56.970 に答える