用户通知系统通过电子邮件

时间:2011-08-28 12:08:34

标签: php mysql notifications

我想使用电子邮件创建用户通知系统。

在上下文中,员工(用户类型1)登录我的系统并输入他们的时间表(他们工作的时间)。我希望将通知发送给他们的主管(也是'users'表(用户类型2)的成员,他们已输入信息并准备好进行检查。

目前我有一个包含表'users'的数据库,用于存储'id' (PRIMARY) AUTO INCREMENTING, 'first_name', 'last_name', 'email', 'user_type', etc等信息。

我知道如何用PHP发送电子邮件,而且我有一个功能齐全的登录系统,但是这些通知我无法理解如何实现。

我当前的代码不是面向对象的,因为它目前超出了我的技能水平。

我想要一些简单的东西,它不一定是完美的。非常感谢任何建议。

2 个答案:

答案 0 :(得分:2)

当员工成功输入时间表时,您是否可以获取用户列表然后向他们发送所有电子邮件?我猜测时间表是一个Web表单,所以只需在表单提交时触发一些代码。

例如:

<?php
    foreach($supervisor_user as $su) {
        mail(...);
    }
?>

然而,可能更好的是定期检查(使用cronjob)新的时间表,然后通过电子邮件向所有主管发送有关任何新时间表的信息。

我不会为此编写完整的PHP,它更像是伪代码大纲:

<?php

    $last_check = /* Fetch the time we last checked for timesheets */
    $new_timesheets = /* Fetch all timesheets submitted after this time */

    /* Construct the e-mail message */
    $message = "Hello, here are the new timesheets. \n";
    foreach($new_timesheets as $ts) {
        $message .= "* $ts \n";
    }

    /* Send a message to all supervisors */
    $supervisors = /* Fetch e-mails of all supervisors */
    foreach($supervisors as $s) {
        mail(...);
    }

    /* Finally, store the time we last checked for timesheets
       so that we can use this on the next run. */

?>

然后,您可以将其设置为每天运行,这意味着主管每天都会收到一封摘要电子邮件,而不是每次提交的时间表都会收到电子邮件的轰炸。

答案 1 :(得分:0)

to spacediver - 在这种情况下,哪些是现成的系统?我们有相同的项目,但感觉现成的系统可能对我们更好。请解释一下!

瑞克