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