如何确保每个会话只发送一次电子邮件?

时间:2014-11-20 04:48:34

标签: php mysql email cakephp

我希望能够允许访问我网站的访问者每次会话只能发送一封电子邮件。我不希望访问者一遍又一遍地发送电子邮件,造成问题 有没有办法使用会话变量只允许一次发送电子邮件?

我使用CakePHP 2.x,我的电子邮件功能简称为email()。

提前致谢!

2 个答案:

答案 0 :(得分:1)

如果我是你,我会在发送第一封电子邮件后创建一个新的会话变量并将其设置为字符串,然后写一条if语句,说明如果会话变量的字符串长度大于1,不发送电子邮件,否则发送邮件。 if会看起来像:

if(strlen($_SESSION['mySessionVariable'])>1)

然后不发送电子邮件

否则

发送电子邮件

答案 1 :(得分:1)

这是来自@Tim Mcneal回答的蛋糕php解决方案。

function sendEmail(){
    if($this->Session->check('EmailSent')){
        //dont send email
    }else{
       //your email sending code
       $this->Session->write('EmailSent', true);
    }
}