每次表单提交时,备用电子邮件地址

时间:2014-04-30 16:51:56

标签: php forms email sequential alternate

嗨有人请告诉我,以下是否可以?

我有一个小的php联系表单,它将表单上收集的信息发送到指定的电子邮件地址

$emailaddress=whatever@whatever.com

我想要实现的是,每次表单发送数据时,它都会切换,以便执行以下操作...

客户通过提交将数据发送至$emailaddress1 = whatever@whatever.com

下一位客户将其提交的数据发送至$emailaddress2=whoever@whoever.com 下一个客户通过提交将数据发送到$ emailaddress1 = whhatever @whatever.com再等等。

基本上每个其他发送都会将电子邮件地址切换到与上次发送不同的电子邮件地址。

提前致谢 蒂莉

3 个答案:

答案 0 :(得分:2)

从您评论中的讨论中,我会说最好的答案是使用一个简单的文件来表明您是要将电子邮件发送到地址1还是地址2.如果您只有两个地址,那么您甚至可以简单地使用文件的EXISTENCE作为指标。

if (file_exists($filename)) {
    $toAddr = 'whatever@whatever.com';
    unlink($filename); //delete the file
} else {
    $toAddr = 'whoever@whoever.com';
    touch($filename); //create the file empty
}

如果你的用量很大,你可能会得到一个实例,其中两封电子邮件会同时发送到一封电子邮件,但听起来并不是一个大问题。

如果您需要有两个以上的地址,那么只需写出该文件并读取该值以确定您要将其发送到何处,而不是删除和创建它。

答案 1 :(得分:0)

您可以尝试使用计数器来了解要发送的电子邮件。

$counter = 0;

if ( $_SERVER['REQUEST_METHOD'] == 'POST' ){

    $counter++;

    if ( $counter % 2 == 0 ){

        $email = 'email@address.com';

    } else {

        $email = 'email2@address.com';

    }

}

这会在偶数和赔率上发送不同的电子邮件。

答案 2 :(得分:0)

由于Boerema加上我自己的一些小调整,问题解决了。

基本上我刚刚更改了删除部分,直到处理完表单后,正确显示表单时正在删除或创建没有提交。

因此...

在表单中,代码是......

$filename = '/full/path/to/tempfile/sent.txt'; 
if (file_exists($filename)) { //
$recipients = 'number1emailaddress@test.com';
} else {
$recipients = 'number2emailaddress@test.com';
}

然后 表单已处理

$filename = '/path/to/your/tempfile/sent/sent.txt';

if (file_exists($filename)) {
unlink($filename); //delete the file
} else {
fopen($filename, 'w') or die('Cannot open file:  '.$filename); //implicitly creates file
}

这样,文件只会在实际提交时删除/创建,完美无缺

非常感谢Boerema