0

我有一个表单,可以将信息通过电子邮件发送到在电子邮件字段中输入的电子邮件,但我希望用户能够在一个字段中输入多个电子邮件,并将信息发送给所有这些电子邮件。任何人都可以帮助编辑我的代码以允许这样做....

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
       <meta http-equiv="content-type" content="text/html; charset=windows-1250">
       <title>Contact Form</title>
       <meta name="author" content="" />
       <meta name="copyright" content="" />
       <meta name="website" content="http://web-kreation.com" />

       <!-- the cascading style sheet-->
       <link href="stylecontact.css" rel="stylesheet" type="text/css" />

</head>


<body>
     <div id="contentForm">

            <!-- The contact form starts from here-->
            <?php
                 $error    = ''; // error message
                 $name     = ''; // sender's name
                 $email    = ''; // sender's email address
                 $subject  = ''; // subject
                 $message  = ''; // the message itself
                 $spamcheck = ''; // Spam check

            if(isset($_POST['send']))
            {
                 $name     = $_POST['name'];
                 $email    = $_POST['email'];
                 $subject  = $_POST['subject'];
                 $message  = $_POST['message'];
                 $spamcheck = $_POST['spamcheck'];

                if(trim($name) == '')
                {
                    $error = '<div class="errormsg">Please enter your name!</div>';
                }
                    else if(trim($email) == '')
                {
                    $error = '<div class="errormsg">Please enter your email address!</div>';
                }
                else if(!isEmail($email))
                {
                    $error = '<div class="errormsg">You have enter an invalid e-mail address. Please, try again!</div>';
                }
                    if(trim($subject) == '')
                {
                    $error = '<div class="errormsg">Please enter a subject!</div>';
                }
                else if(trim($message) == '')
                {
                    $error = '<div class="errormsg">Please enter your message!</div>';
                }
                else if(trim($spamcheck) == '')
                {
                    $error = '<div class="errormsg">Please enter the number for Spam Check!</div>';
                }
                else if(trim($spamcheck) != '5')
                {
                    $error = '<div class="errormsg">Spam Check: The number you entered is not correct! 2 + 3 = ???</div>';
                }
                if($error == '')
                {
                    if(get_magic_quotes_gpc())
                    {
                        $message = stripslashes($message);
                    }

                    // the email will be sent here
                    // make sure to change this to be your e-mail
                    $to      = "jeengle@indiana.edu";

                    // the email subject
                    // '[Contact Form] :' will appear automatically in the subject.
                    // You can change it as you want

                    $subject = '[Contact Form] : ' . $subject;

                    // the mail message ( add any additional information if you want )
                    $msg     = "From : $name \r\ne-Mail : $email \r\nSubject : $subject \r\n\n" . "Message : \r\n$message";

                    mail($to, $subject, $msg, "From: $email\r\nReply-To: $email\r\nReturn-Path: $email\r\n");
            ?>

                  <!-- Message sent! (change the text below as you wish)-->
                  <div style="text-align:center;">
                    <h1>Thank You</h1>
                       <p>Thanks, <b><?=$name;?></b>.  Your input is important to us.</p>
                  </div>
                  <!--End Message Sent-->


            <?php
                }
            }

            if(!isset($_POST['send']) || $error != '')
            {
            ?>

            <center><h1>Contact Us</h1></center>
            <!--Error Message-->
            <?=$error;?>

            <form  method="post" name="contFrm" id="contFrm" action="">


                      <label><span class="required">*</span> Name:</label>
                        <input name="name" type="text" class="box" id="name" size="30" value="<?=$name;?>" />

                        <label><span class="required">*</span> Email: </label>
                        <input name="email" type="text" class="box" id="email" size="30" value="<?=$email;?>" />

                        <label><span class="required">*</span> Subject: </label>
                        <input name="subject" type="text" class="box" id="subject" size="30" value="<?=$subject;?>" />

                        <label><span class="required">*</span> Message: </label>
                        <textarea name="message" cols="35" rows="3"  id="message"><?=$message;?></textarea>
                        <br>
                        <label><span class="required">*</span> Spam: <b>2 + 3=</b></label>
                        <input name="spamcheck" type="text" class="box" id="spamcheck" size="4" value="<?=$spamcheck;?>" /><br /><br />

                        <!-- Submit Button-->
                        <center><input name="send" type="submit" class="button" id="send" value="" /></center>

            </form>

            <!-- E-mail verification. Do not edit -->
            <?php
            }

            function isEmail($email)
            {
                return(preg_match("/^[-_.[:alnum:]]+@((([[:alnum:]]|[[:alnum:]][[:alnum:]-]*[[:alnum:]])\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)$|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i"
                        ,$email));
            }
            ?>
            <!-- END CONTACT FORM -->

     </div> <!-- /contentForm -->

</body>
</html>
4

1 回答 1

2

如果您正在寻找多个收件人,您可以mail()使用分隔$to参数将它们提供给函数,如下所述:http ://www.php.net/manual/en/function.mail.php#108340

这是链接中的文本以防止腐烂:

Marc Parillo 2012 年 4 月 18 日 01:27 如果您遵循 $to 字段的建议格式,您可以在逗号分隔的字符串中列出多个地址和空格。如果您遇到类似问题,空格可能是个问题。我无法使用该格式向多个地址发送电子邮件。当我删除 $to 字符串中的所有空格时,它开始为我工作。

例子:

<?php
$to = 'nobody@example.com,anotheruser@example.com,yetanotheruser@example.com'; // no spaces
mail($to, 'the subject', 'the message');
?>
于 2012-07-23T01:21:54.773 回答