2012-07-23 37 views
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  = "[email protected]"; 

        // 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:]][email protected]((([[: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> 
+2

如果這是一個[標籤:功課]的問題,請標記它如此。別擔心,這不會阻止我們幫助你,但是這是SO所要求的。 – bPratik 2012-07-23 01:15:59

+0

不,這不是家庭作業,我正在爲此作爲我的網站的愛好。 – 2012-07-23 01:16:55

+0

因此,找出To字段的分隔符,例如,每個地址是逗號或空格分隔符。然後在您的代碼中使用分隔符分割值並存儲在數組中。 – 2012-07-23 01:18:41

回答

2

如果您正在尋找多個收件人,你可以爲他們提供使用分隔$to參數mail()功能如下所述:http://www.php.net/manual/en/function.mail.php#108340

下面是鏈接的文本,以防止腐爛:

馬克Parillo 18-APR-2012 1時27 如果你遵循了$實地建議的格式,你可以在一個逗號分隔列出多個地址〜應變克與空間。 如果遇到類似問題,則空間可能會成爲問題。我無法使用該格式將電子郵件發送到多個地址。當我刪除$ to字符串中的所有空格時,它開始爲我工作。

實施例:

<?php 
$to = '[email protected],[email protected],[email protected]'; // no spaces 
mail($to, 'the subject', 'the message'); 
?> 
相關問題