Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP在满足特定条件时自动触发电子邮件_Php - Fatal编程技术网

PHP在满足特定条件时自动触发电子邮件

PHP在满足特定条件时自动触发电子邮件,php,Php,我想自动发送此电子邮件的过程。我的意思是,当一个条件满足时,电子邮件应该自动发送到给定的电子邮件地址,该地址已经作为硬编码值给定。例如,在我的案例中,一名技术人员每天必须完成40项工作,如果他在一天结束时完成了35项工作,则应向主管发送一封电子邮件,前提是他的电子邮件id已经给出了主题名称,并且正文应该像“技术人员1234一天只完成了35项工作,而不是40项。我想知道如何实现这一点,因为我是PHP领域的新手。请任何人帮帮我。如果可能,请给我举个例子 谢谢 Dilip您应该使用以下功能: $tec

我想自动发送此电子邮件的过程。我的意思是,当一个条件满足时,电子邮件应该自动发送到给定的电子邮件地址,该地址已经作为硬编码值给定。例如,在我的案例中,一名技术人员每天必须完成40项工作,如果他在一天结束时完成了35项工作,则应向主管发送一封电子邮件,前提是他的电子邮件id已经给出了主题名称,并且正文应该像“技术人员1234一天只完成了35项工作,而不是40项。我想知道如何实现这一点,因为我是PHP领域的新手。请任何人帮帮我。如果可能,请给我举个例子

谢谢 Dilip

您应该使用以下功能:

$technicianId = 1234;
$jobsNeeded = 40;
$jobsDone = getJobsDone($technicianId);
if ($jobsDone <= $jobsNeeded) {
    mail('supervisor@yourcompany.com', 'Technician '.$technicianId.' slacking', 'The Technician '.$technicianId.' has completed only '.$jobsDone.' jobs for the day instead of '.$jobsNeeded);
}
您应该使用以下功能:

$technicianId = 1234;
$jobsNeeded = 40;
$jobsDone = getJobsDone($technicianId);
if ($jobsDone <= $jobsNeeded) {
    mail('supervisor@yourcompany.com', 'Technician '.$technicianId.' slacking', 'The Technician '.$technicianId.' has completed only '.$jobsDone.' jobs for the day instead of '.$jobsNeeded);
}

让脚本检查条件并发送电子邮件,并定期运行:

让脚本检查条件并发送电子邮件,并定期运行:

可以在每天结束时运行一个cronjob,检查每个技术人员所做的事情并通过电子邮件发送给经理。

可以在每天结束时运行一个cronjob,检查每个技术人员所做的事情并通过电子邮件发送给经理。

设置一个在一天结束时运行的cronjob:

23 55 * * *  /path/to/php /path/to/script.php
让它运行一个PHP脚本,该脚本可以查询您的作业存储,以获取您想要检查的任何条件。例如,作业存储是一个数据库

$db = new PDO(/* config */);

$result = $pdo->query(
    'SELECT count(id) as "tasks_done" 
     FROM tasks WHERE engineer = "Tom" 
     AND finished_at = now()');

$result = $result->fetchAll();

if($result[0]['tasks_done'] < 40) {
    mail( ... )
}
如果满足条件,则发送。当然,上述需要改进。不要期望能够复制/粘贴它

另见:

在一天结束时运行的设置:

23 55 * * *  /path/to/php /path/to/script.php
让它运行一个PHP脚本,该脚本可以查询您的作业存储,以获取您想要检查的任何条件。例如,作业存储是一个数据库

$db = new PDO(/* config */);

$result = $pdo->query(
    'SELECT count(id) as "tasks_done" 
     FROM tasks WHERE engineer = "Tom" 
     AND finished_at = now()');

$result = $result->fetchAll();

if($result[0]['tasks_done'] < 40) {
    mail( ... )
}
如果满足条件,则发送。当然,上述需要改进。不要期望能够复制/粘贴它

另见:

您可以运行一个,它使用在每天的固定时间发送关于每个程序员的报告。cron脚本看起来像:

<?php
$to = 'admin@mydomain.com';//the set up email to mail too
$result = mysql_query('select programmer_id, job_count, job_requirement from table'); //query the database
while($job = mysql_fetch_object($result)){
 mail($to,'Job counts for ' . $job->programmer_id,"Completed $job->job_count out of $job->job_requirement jobs","FROM: jobcounter@mydomain.com");
}
您可以运行一个,它使用在每天的固定时间发送关于每个程序员的报告。cron脚本看起来像:

<?php
$to = 'admin@mydomain.com';//the set up email to mail too
$result = mysql_query('select programmer_id, job_count, job_requirement from table'); //query the database
while($job = mysql_fetch_object($result)){
 mail($to,'Job counts for ' . $job->programmer_id,"Completed $job->job_count out of $job->job_requirement jobs","FROM: jobcounter@mydomain.com");
}

我在这里假设您的问题是事件的触发,而不是电子邮件本身的发送

在您描述的示例中,您需要在一天中的特定时间运行一个脚本,该脚本将检查需要发送电子邮件的任何条件,然后发送电子邮件。在任何类似unix的系统中,cron都是解决此问题的理想解决方案。如果您使用的是某种基本的共享主机,您可能无法设置此功能。在这种情况下,您需要设置一个任务在您可以控制的机器上运行,该机器将调用运行PHP脚本的URL。这可以是cronjob,也可以是Windows下的计划任务


如果您的示例被切换,例如,一名技术人员完成40项工作后将立即发送一封电子邮件,则您可以将该电子邮件作为脚本的一部分发送,该脚本处理技术人员在完成任务时提交的表单。

我在此假设您的问题是触发事件,而不是发送电子邮件本身

在您描述的示例中,您需要在一天中的特定时间运行一个脚本,该脚本将检查需要发送电子邮件的任何条件,然后发送电子邮件。在任何类似unix的系统中,cron都是解决此问题的理想解决方案。如果您使用的是某种基本的共享主机,您可能无法设置此功能。在这种情况下,您需要设置一个任务在您可以控制的机器上运行,该机器将调用运行PHP脚本的URL。这可以是cronjob,也可以是Windows下的计划任务

如果您的示例被切换,比如说,一名技术人员完成40项工作后就要发送一封电子邮件,那么您可以将该电子邮件作为脚本的一部分发送,该脚本处理技术人员在完成任务时提交的表单