2013-06-18 1 views
0

Я пытаюсь установить адрес «для» для отправки по электронной почте с помощью phpmailer по форме html. Конечной целью является использование дротиста, позволяющего пользователю выбирать, с кем они обращаются, в зависимости от их потребностей. Однако, поскольку я мало что знаю о PHP, я иду шаг за шагом, и я уже застрял.Переменная «на» адрес в PHP Mailer

Я использую пример, который пришел с сайтом, который я купил, но пытаюсь изменить его, чтобы включить в поле. Прямо сейчас я просто пытаюсь найти новую переменную, но не удалось. Это форма HTML я имею в месте прямо сейчас:

<form name="contact" method="post" action="phpmailer.php" class="af-form" id="af-form"> 
<div class="af-outer af-required"> 
    <div class="af-inner"> 
     <label for="toemail" id="toemail_label">To Whom:</label> 
     <input type="text" name="toemail" id="toemail" size="30" value="" class="text-input span8"/> 
     <label class="error" for="toemail" id="toemail_error">To field is required.</label> 
    </div> 
</div> 
<div class="af-outer af-required"> 
    <div class="af-inner"> 
     <label for="name" id="name_label">Your Name:</label> 
     <input type="text" name="name" id="name" size="30" value="" class="text-input span8"/> 
     <label class="error" for="name" id="name_error">Name is required.</label> 
    </div> 
</div> 
<div class="af-outer af-required"> 
    <div class="af-inner"> 
     <label for="email" id="email_label">Your Email:</label> 
     <input type="text" name="email" id="email" size="30" value="" class="text-input span8"/> 
     <label class="error" for="email" id="email_error">Email is required.</label> 
    </div> 
</div> 
<div class="af-outer af-required"> 
    <div class="af-inner"> 
     <label for="input-message" id="message_label">Your Message:</label> 
     <textarea name="message" id="input-message" cols="30" class="text-input span8"></textarea> 
     <label class="error" for="input-message" id="message_error">Message is required.</label> 
    </div> 
</div> 
<div class="af-outer af-required"> 
    <div class="af-inner"> 
     <input type="submit" name="submit" class="form-button btn btn-large" id="submit_btn" value="Send Message!" /> 
    </div> 
</div> 

от имени, электронная почта и поле сообщений получить взяли штраф и заполнить в электронной почте я получаю. Однако поле «toemail» не отображается. Вот process.php, который я использую для phpmailer.

<?php 
if ((isset($_POST['toemail'])) && (strlen(trim($_POST['toemail'])) > 0)) { 
    $toemail = stripslashes(strip_tags($_POST['toemail'])); 
} else {$toemail = 'No to address entered';} 
if ((isset($_POST['name'])) && (strlen(trim($_POST['name'])) > 0)) { 
    $name = stripslashes(strip_tags($_POST['name'])); 
} else {$name = 'No name entered';} 
if ((isset($_POST['email'])) && (strlen(trim($_POST['email'])) > 0)) { 
    $email = stripslashes(strip_tags($_POST['email'])); 
} else {$email = 'No email entered';} 
if ((isset($_POST['message'])) && (strlen(trim($_POST['message'])) > 0)) { 
    $message = stripslashes(strip_tags($_POST['message'])); 
} else {$message = 'No phone entered';} 
ob_start();d 
?> 
<html> 
<head> 
<style type="text/css"> 
</style> 
</head> 
<body> 
<table width="550" border="1" cellspacing="2" cellpadding="2"> 
    <tr bgcolor="#eeffee"> 
    <td>To Whom:</td> 
    <td><?=$toemail;?></td> 
    </tr> 
    <tr bgcolor="#eeffee"> 
    <td>Name</td> 
    <td><?=$name;?></td> 
    </tr> 
    <tr bgcolor="#eeeeff"> 
    <td>Email</td> 
    <td><?=$email;?></td> 
    </tr> 
    <tr bgcolor="#eeffee"> 
    <td>Message</td> 
    <td><?=$message;?></td> 
    </tr> 
</table> 
</body> 
</html> 
<? 
$body = ob_get_contents(); 

$to = 'personalemailtousefortesting.com'; 
$email = '[email protected]'; 
$fromaddress = "[email protected]"; 
$fromname = "Online Contact"; 

require("phpmailer.php"); 

$mail = new PHPMailer(); 

$mail->From  = "[email protected]"; 
$mail->FromName = "Contact Form"; 
$mail->AddAddress("[email protected]","Name 1"); // addresses here 

$mail->WordWrap = 50; 
$mail->IsHTML(true); 

$mail->Subject = "Contact form submitted"; 
$mail->Body  = $body; 
$mail->AltBody = "This is the text-only body"; 

if(!$mail->Send()) { 
    $recipient = '[email protected]'; 
    $subject = 'Contact form failed'; 
    $content = $body; 
    mail($recipient, $subject, $content, "From: [email protected]\r\nReply-To: $email\r\nX-Mailer: DT_formmail"); 
    exit; 
} 
?> 

электронной почты я получаю заполнит имя, адрес электронной почты и сообщений поля хорошо, однако, я получаю мое падение обратно сообщение об ошибке «Нет адреса» для «toemail» вход.

Это проблема номер один. Я отправлю phpmailer.php, который я использую, если кто-то должен его увидеть. Я не знаю, нужно ли сначала определять переменную там.

После того, как я получу эту работу, мне нужно заставить ее работать в раскрывающемся списке, чтобы пользователь не мог просто отправить электронное письмо кому бы то ни было.

THEN, мне нужно установить это как фактический адрес отправки. Я не знаю, как установить фактический адрес для целей отправки. Я предположил бы, что я изменяю

$mail->AddAddress("[email protected]","Name 1"); // addresses here 

к чему-то вроде ...

$mail->AddAddress($toemail,"Name 1"); // addresses here 

... но есть вероятность, что это не правильно.

Любая помощь, которую вы можете предоставить, будет замечательной.

Если вам нужно увидеть мой phpmailer.php, я тоже могу опубликовать его.

Еще раз спасибо,

-Rocky Colt TumTum

+0

BUMP !! Все еще не получили ответа на это. –

ответ

0

Просто упаковывают вы не нашли это, это то, что было перечислено на Руководство сайта PHP.

<?php 
// multiple recipients 
$to = '[email protected]' . ', '; // note the comma 
$to .= '[email protected]'; 

// subject 
$subject = 'Birthday Reminders for August'; 

// message 
$message = ' 
<html> 
<head> 
    <title>Birthday Reminders for August</title> 
</head> 
<body> 
    <p>Here are the birthdays upcoming in August!</p> 
    <table> 
    <tr> 
     <th>Person</th><th>Day</th><th>Month</th><th>Year</th> 
    </tr> 
    <tr> 
     <td>Joe</td><td>3rd</td><td>August</td><td>1970</td> 
    </tr> 
    <tr> 
     <td>Sally</td><td>17th</td><td>August</td><td>1973</td> 
    </tr> 
    </table> 
</body> 
</html> 
'; 

// 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 it 
mail($to, $subject, $message, $headers); 
?> 
+0

Спасибо за ответ, но я не уверен, как это помогает мне. –

+0

Я вижу, что они настраивают несколько получателей, однако я пытаюсь настроить «переменных» репитеров. Таким образом, в зависимости от того, что «Кому:» человек выбран в контактной форме, определит, куда идет электронная почта. Надеюсь, это имеет смысл. Извините за путаницу. –

+0

* BUMP * Я до сих пор не понял этого, я читал все, что мог, и я не могу понять, почему он не работает. –