Форма с несколькими полями электронной почты для нескольких получателей - PullRequest
1 голос
/ 28 сентября 2011

Это моя HTML-форма. Пользователь будет вводить адреса электронной почты, на которые он / она хотел бы отправить html письмо.

<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>

Это несколько php-код.

<?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>

Как мне:
1. Изменить код PHP, чтобы он отправлял на электронные письма, введенные пользователем?
2. Тело сообщения уведомления представляет собой HTML-письмо. Как мне добавить его в код PHP?

Ваша помощь высоко ценится. Заранее спасибо!

Ответы [ 2 ]

1 голос
/ 28 сентября 2011

Похоже, вам нужно $ _POST значения email1, email2 и т. Д. Для переменной, а затем использовать это значение в качестве значения $ to в функции mail() - просто убедитесь, что вы добавляете запятую после каждого:

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

и т. Д.Оставьте запятую для последнего письма, и вы должны быть готовы к отправке.

Что касается содержания вашего письма, вы сможете отправлять html без проблем - просто сохраните его в переменной для удобства использования позже.Например:

$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>
';

, затем убедитесь, что вы добавили соответствующие заголовки HTML:

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

Наряду с любыми другими заголовками, например:

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

Затем вызовите mail() с вашими заданными переменными:

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

Надеюсь, это поможет.

ps все это доступно в определении почтовой функции: mail()

0 голосов
/ 28 сентября 2011

Посмотрите на Руководство по PHP для mail

Пример:

$toemails = "user@example.com, anotheruser@example.com";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...