0

是否有可靠的方法可以阻止用户一次性发送多封电子邮件?

我有一个基本的 html 表单,它允许用户输入电子邮件地址:

email1@address1.com

这工作正常,电子邮件已送达。但是,用户也可以这样做:

email1@address1.com, email2@address2.com, email3@address3.com

按下提交按钮时,我的代码会发送所有 3 封电子邮件。我该如何阻止这种情况发生。我想限制用户,并且每次提交只允许他/她发送 1 封电子邮件。

我目前拥有的代码是这样的:

<?php

    $email_from = "oshirowanen@localhost.com";
    $email_to = $_POST["referred_email"];
    $email_subject = 'test subject here';
    $email_message = $_POST["referred_message"];

    // create email headers
    $headers = 'From: '. $email_from ."\r\n".
    'Reply-To: '. $email_from ."\r\n" .
    'X-Mailer: PHP/' . phpversion();

    $result = mail($email_to, $email_subject, $email_message, $headers); 

    if ($result) echo 'Mail accepted for delivery ';
    if (!$result) echo 'Test unsuccessful... ';

?>
4

2 回答 2

3

在发送邮件之前检查这$email_to是一个有效的电子邮件地址。最简单的方法可能是使用filter_var()

if (!filter_var($email_to, FILTER_VALIDATE_EMAIL)) {
    // handle error
}
于 2013-08-23T07:49:40.087 回答
0

使用正则表达式来评估输入字段的内容:http ://www.regular-expressions.info/email.html

或者只是为输入字段使用新的电子邮件类型:http: //www.w3schools.com/html/html5_form_input_types.asp

于 2013-08-23T07:49:47.120 回答