开发者

Form with multiple email fields to multiple recipients

This is my html form. The user will input the email addresses he/she would like to send the html email to.

<form id="form1" name="form1" method="post" action="">
<table width="400">
  <tr>
    <td>Please enter your email address:</td>
    <td<input type="text" name="email" id="email" /></td>
  </tr>
  <tr>
    <td>Please enter the email addresses you would like to notify below:</td>
    <td>
      &nbsp;
    </td>
  </tr>
  <tr>
    <td>Email:</td>
    <td>
      <input type="text" name="email1" id="email1" />
    </td>
  </tr>
  <tr>
    <td>Email:</td>
    <td><input type="text" name="email2" id="email2" />
    </td>
  </tr>
  <tr>
    <td>Email:</td>
    <td><input type="text" name="email3" id="email3" />
    </td>
  </tr>
  <tr>
    <td>Email:</td>
    <td><input type="text" name="email4" id="email4" />
    </td>
  </tr>
</table>
</form>

This is somewhat the php code.

<?php 
$ToEmail = '["email1"]["email2"]["email3"]["email4"]'开发者_开发技巧; 
$EmailSubject = 'Check this out guys!'; 
$mailheader = "From: ".$_POST["email"]."\r\n"; 
$mailheader .= "Reply-To: "noreply@domain.com"\r\n"; 
$mailheader .= "Content-type: text/html; charset=iso-8859-1\r\n";  
mail(......) or die ("Failure"); 
?>

<script type="text/javascript">
    alert("Success! You have sent the notification to the emails you have entered.");
    <!--
    window.location = "form.html"
    //-->
  </script>

How do I:

1. Modify the PHP code so that it will send to the emails inputed by the user?

2. The body message of the notification is a html email. How do I go about adding it to the PHP code?

Your help is highly appreciated. Thanks in advance!


Looks like you need to $_POST the email1, email2 etc. values to a variable then use that as your value for $to in the mail() function - just make sure you add a comma after each:

$to = $_POST['email1'] . ', ';
$to .= $_POST['email2'] . ', ';
$to .= $_POST['email3'];

etc. Leave off the comma for the last email and you should be ready to go.

Regarding the content of your email, you should be able to send html no problem - just store it in a variable for ease of use later, e.g:

$message = '
<html>
  <head>
    <title>This is the HTML Email</title>
  </head>
  <body>
    <div id="container">
      <p>Welcome to the html!</p>
      <img src="../img/some_image.jpg" alt="some image"/>
    </div>        
  </body>
</html>
';

then make sure you add the relevant HTML headers:

$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

Along with any other headers e.g.:

$headers .= 'From: HTML Email <you@example.com>' . "\r\n";

Then call mail() with your defined variables:

mail($to, $subject, $message, $headers);

Hope that helps.

p.s. its all available on the mail function definition: mail()


Look at the php manual for mail

Example:

$toemails = "user@example.com, anotheruser@example.com";
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜