HTML-форма электронной почты, требующая переменных получателей

0

Я пытаюсь создать некоторый HTML, который отправит электронное письмо на адрес получателя переменной. Мой текущий HTML успешно работает на стороне сервера, что хорошо, но он полагается на адрес получателя фиксированного адреса электронной почты. Я не хочу этого - мне нужен адрес получателя с переменным адресом электронной почты, где данные получателя вводятся в форме.

Команда поддержки на стороне сервера сообщила, что мне нужно использовать Javascript для извлечения данных переменной, которые необходимо ввести в адрес электронной почты (обозначенный как "!!!! [email protected]" в HTML ниже).

Может ли кто-нибудь дать какие-либо рекомендации относительно того, как это сделать? Это для сайта интрасети. Я не хочу проверять, что вводится пользователем, однако, если я могу добавить фиксированный адрес CC, это было бы полезно.

HTML выглядит следующим образом.

Заранее спасибо,

Стив

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--[if lt IE 7 ]>
<html class="ie ie6" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <![endif]-->
   <!--[if IE 7 ]>
   <html class="ie ie7" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
      <![endif]-->
      <!--[if IE 8 ]>
      <html class="ie ie8" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
         <![endif]-->
         <!--[if IE 9 ]>
         <html class="ie ie9" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
            <![endif]-->
            <!--[if (gt IE 9)|!(IE)]><!-->
            <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
               <!--<![endif]-->
               <head>
                  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
                  <title>Form Test</title>
                  <link href="/homepage/survey/Coke-new/css/base.css" media="screen" rel="stylesheet" type="text/css" />
                  <!-- Do not edit the base file, use custom.css -->
                  <link href="/homepage/survey/Coke-new/css/custom.css" media="screen" rel="stylesheet" type="text/css" />
                  <!-- Your customisations go here -->
                  <script src="/stylesheets/jquery/jquery.js" type="text/javascript"></script>
                  <link href="/online/css/jquery-ui.css" rel="stylesheet" type="text/css" />
                  <script src="/homepage/survey/Coke-new/js/library.js" type="text/javascript"></script>
                  <script language="javascript" type="text/javascript" src="validate.js"></script>
                  <script type="text/javascript" src="/stylesheets/misc.js"></script>
                  <!-- navigation menu style -->
               </head>
               <body>
                  <!-- Accessibility Skip To -->
                  <ul id="skip" class="visuallyhidden">
                     <!-- <li><a href="#left-nav">Skip to navigation</a></li>  Use when leftCol is in use -->
                     <li><a href="#body-content">Skip to content</a></li>
                  </ul>
                  <!-- End Accessibility Skip To -->
                  <div id="top-band">
                     <!-- DHS Global Navigation -->
                     <!-- End Global Navigation -->
                  </div>
                  <div id="bodyWrap">
                     <div class="page">
                        <!-- Header Section including Logo, Narrow Colour Band and Utilities Navigation -->
                        <div class="head clearfix">
                           <!-- Program Logo -->
                           <div id="Coke-logo">
                              <a href="/">Coke logo</a>
                           </div>
                           <!-- End Program Logo -->
                           <!-- Utilities Navigation -->
                           <!--End Utilities Navigation -->
                           <!-- Application Name -->
                           <div id="app-title">
                              <span>Form Examples</span>
                           </div>
                           <!-- End Application Name -->
                        </div>
                        <!-- End Header section -->
                        <!-- Content section including Body Content, left and right columns -->
                        <div class="body">
                           <!-- Section containing main website content -->
                           <!-- Left Column class="leftCol" -->
                           <!-- End Left Column -->
                           <!-- Right Column class="rightCol" -->
                           <!-- End Right Column -->
                           <div class="main" id="body-content">
                              <!-- Start of actual page content -->
                              <h1>Form Examples</h1>
                              <script language="javascript"> 
                                 function replaceNewLines2(newChar)

                                                {

                                                               if (!newChar) { var newChar = " "; }



                                                               var allTextAreas = document.getElementsByTagName("textarea");

                                                               alert("TA L "+ allTextAreas.length);

                                                               for (var i = 0; i < allTextAreas.length; i++)

                                                                              {              

                                                                                             allTextAreas[i].value = allTextAreas[i].value.replace(/[\n]/g, newChar);                          

                                                                              }

                                                }




                              </script>              
                              <h2 class="h3">Example 1 - Stacked form fields in 1 column</h2>
                              <div id="ValidateFail" class="error-box hidden"><strong>At least one of the required fields in this form has not been completed</strong>.</div>
                              <form action="/cgi-bin/feedback" method="post" name="dummyform1" id="dummyform1" class="vertical-form" onsubmit="return validateStacked();" >
                                 <input type="hidden" name="email" value="!!!! [email protected]" />
                                 <!--input type="hidden" name="tfile" value="/homepage/survey/Coke-new/test.csv" />
                                    <input type="hidden" name="csv" value="1" /--->
                                 <input type="hidden" name="subject" value="Form Feedback" />
                                 <!--output can only be a intranet page, use the redirect meta tag in the thankyou page to redirect user to COKE -->
                                 <input type="hidden" name="output" value="/homepage/survey/Coke-new/thankyou.html" />   
                                 <div>
                                    <label for="dummy0">Text input - no width specified</label>
                                    <input type="text" name="dummy0" id="dummy0"  />
                                 </div>
                                 <div>
                                    <label for="dummy1">Text input - with required field <span class="required">(required)</span></label>
                                    <input type="text" name="dummy1" id="dummy1" />
                                    <div class="warninginfo hidden" id="dummy1Val">TExt input required</div>
                                 </div>
                                 <div>
                                    <label for="dummy2">Text input - size = 10 characters</label>
                                    <input type="text" name="dummy2" id="dummy2" size="10" />
                                 </div>
                                 <div>
                                    <label for="dummy3">Text input <span class="label-info-box"> class = size1of2 (50&#37; width of container)</span></label>
                                    <input type="text" name="dummy3" id="dummy3" class="size1of2" />               
                                 </div>
                                 <div>
                                    <label for="dummy4">Text input - class = size1of1 (100&#37; width of container)</label>
                                    <input type="text" name="dummy4" id="dummy4" class="size1of1" />
                                 </div>
                                 <div>
                                    <label for="dummy5">Textarea <span class="required">(required)</span></label><br />
                                    <textarea name="dummy5" id="dummy5" rows="5" cols="40" ></textarea>
                                    <div class="warninginfo hidden" id="dummy5Val">TExt input required</div>
                                 </div>
                                 <fieldset class="inline">
                                    <legend>Radio buttons with inline inputs - contained in a fieldset </legend>
                                    <input type="radio" id="example11" name="name11" />
                                    <label for="example11">Radio option one</label>
                                    <input type="radio" id="example12" name="name11" />
                                    <label for="example12">Radio option two</label>
                                    <input type="radio" id="example13" name="name11" />
                                    <label for="example13">Radio option three</label>
                                 </fieldset>
                                 <fieldset>
                                    <legend>Radio buttons with seperate line inputs - contained in a fieldset <span class="required">(required)</span></legend>
                                    <div id="radioValDiv">
                                       <div class="inline">
                                          <input type="radio" name="example21" id="example21"/>
                                          <label for="example21">Radio option one</label>
                                       </div>
                                       <div class="inline">
                                          <input type="radio" name="example21" id="example22"/>
                                          <label for="example22">Radio option two</label>
                                       </div>
                                       <div class="inline">
                                          <input type="radio" name="example21" id="example23"/>
                                          <label for="example23">Radio option three</label>
                                       </div>
                                    </div>
                                 </fieldset>
                                 <div class="warninginfo hidden" id="example21Val">Select Radio button</div>
                                 <div id="example31Div">
                                    <fieldset class="inline">
                                       <legend>Checkbox with inline inputs - contained in a fieldset <span class="required">(required)</span></legend>
                                       <input type="checkbox" id="example31" name="name31" value="name31a"/>
                                       <label for="example31">Check option one</label>
                                       <input type="checkbox" id="example32" name="name31" value="name31b"/>
                                       <label for="example32">Check option two</label>
                                       <input type="checkbox" id="example33" name="name31" value="name31c"/>
                                       <label for="example33">Check option three</label>
                                    </fieldset>
                                 </div>
                                 <div class="warninginfo hidden" id="example31Val">Select a Check box</div>
                                 <div>
                                    <input type="submit" value="Submit" class="btn-primary" />
                                    <input type="reset" value="Reset" class="btn-reg"  onclick="window.location.reload();"/>
                                 </div>
                              </form>
                           </div>
                           <!-- end body-content -->
                        </div>
                        <!-- end Content section -->
                     </div>
                  </div>
                  <!-- end bodywrap -->
                  <!-- Page footer containing wide colour-band and footer links -->
                  <!-- Footer section -->
                  <div class="foot clearfix">
                     <div class="dhs-program-band">
                        <span class="prg-1"></span>
                        <span class="prg-2"></span>
                        <span class="prg-3"></span>
                        <span class="prg-4"></span>
                        <span class="prg-5"></span>
                        <span class="prg-6"></span>
                        <span class="prg-7"></span>
                        <span class="prg-8"></span>
                        <span class="prg-9"></span>
                        <span class="prg-10"></span>
                        <span class="prg-11"></span>
                        <span class="prg-12"></span>
                        <span class="prg-13"></span>
                        <span class="prg-14"></span>
                        <span class="prg-15"></span>
                        <span class="prg-16"></span>
                        <span class="prg-17"></span>
                     </div>
                     <div class="page">
                        <ul id="footer-nav">
                           <li class="last">
                              <a href="/">Coke Intranet</a>
                           </li>
                        </ul>
                        <div id="unity-star">Coke</div>
                     </div>
                  </div>
                  <!-- end Footer section -->
                  <!-- Call Javascript before closing body tag: See http://developer.yahoo.com/performance/rules.html -->
               </body>
            </html>

==========================================

Итак, поэтому... просто пытаюсь решить, где добавить эти шутливые инструменты... Это то, что мне нужно изменить?

    BEFORE
    <!--[if (gt IE 9)|!(IE)]><!-->
       <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
       <!--<![endif]-->

    AFTER
    <!--[if (gt IE 9)|!(IE)]><!-->
       <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">


    // To send HTML mail, the Content-type header must be set
    $headers  = 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

    // Additional headers

    $headers .= 'Cc: [email protected] . "\r\n";

    mail($_POST['email'], "subject", "message", $headers);

    <!--<![endif]-->

Затем для второй части заменим:

    BEFORE:
    <script language="javascript"> 
      function replaceNewLines2(newChar)

    AFTER:
   <script language="javascript"> 
   if (isset($_POST['email'@coke.com]) && filter_var ($_POST'email'@coke.com],                FILTER_VALIDATE_EMAIL)) {
  echo "email valid";!
   $email = $_POST['email'@coke.com];

   }else{ echo "email not valid"; $email = "[email protected]"; } 

   function  replaceNewLines2(newChar)

Нужен ли дополнительный код для заголовка функции?

Больше вопросов:

Будет ли отображаться всплывающее окно $ _POST с просьбой ввести имя? Могу ли я добавить тег в это всплывающее окно, чтобы люди знали, почему он просит адрес электронной почты?

Что происходит с кодом "value =" !!!! [email protected] "/" Я просто удалю эту ссылку?

Все еще очень озадачен....

  • 0
    Что я делаю для такого рода вещей, так это предоставляю выпадающий список с формой, в которой перечислены возможные получатели. Какой получатель выбирают пользователь определяет to адреса электронной почты.
Теги:
forms
email

1 ответ

0

В PHP-функции PHP вы должны использовать $ _POST ['email'] как первый такой параметр: mail($_POST['email'], "subject", "message"); Если вам нужен адрес CC, вы можете использовать четвертый необязательный параметр, который может включать в себя дополнительные заголовки.

// To send HTML mail, the Content-type header must be set
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

// Additional headers
$headers .= 'To: Mary <[email protected]>, Kelly <[email protected]>' . "\r\n";
$headers .= 'From: Birthday Reminder <[email protected]>' . "\r\n";
$headers .= 'Cc: [email protected]' . "\r\n";
$headers .= 'Bcc: [email protected]' . "\r\n";

mail($_POST['email'], "subject", "message", $headers);

Вы должны подтвердить ввод пользователя, чтобы убедиться, что он действительный адрес электронной почты. Небольшой пример:

if (isset($_POST['email']) && filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
    echo "email valid";!
    $email = $_POST['email'];
}else{
    echo "email not valid";
    $email = "[email protected]";
}
  • 0
    Обычно не самая лучшая идея извлечь что-либо из $_GET или $_POST без небольшой проверки на наличие ошибок / безопасности ...
  • 0
    Я знаю, это просто простой пример того, как отправить письмо с переменной из его формы.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню