2012-05-09 4 views
0

У меня есть довольно стандартная контактная форма со входами для имени, адреса электронной почты и номера телефона. Как и отправки электронной почты на указанный адрес электронной почты в соответствии стандартной формы,Отправить электронное письмо на адрес от формы ввода

$to  = '[email protected]'; 

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

$to  = '[email protected]', $email; 

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

Вот ссылка на мою форму

http://www.diysoakwells.com.au/cart.php

ThankYou заранее:)

<?php 
include_once("wsp_captcha.php"); 

if(WSP_CheckImageCode() != "OK") { 
header('location:/form-rejected.php'); 
die(); 
} 
$to  = '[email protected]'; 
$subject = 'Order Inquiry'; 
$jcitems = " <p><b>ORDER:</b></p><p> " . $_POST['jcitems']."<p/>" . "<p><b>Total:</b> $" . $_POST['jctotal']."</p>"; 
$time = date ("h:i A"); 
$date = date ("l, F jS, Y"); 
$headers = "MIME-Version: 1.0\r\n"; 
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n"; 
$headers .= 'From: [email protected]' . "\r\n" . 
'Reply-To: [email protected]' . "\r\n" . 
'X-Mailer: PHP/' . phpversion(); 
$name = $_POST['name']; 
$phone = $_POST['phone']; 
$emaile = $_POST['emaile']; 
$textbox = $_POST['textbox']; 
$text = "<html><body><p><b>Message:</b>\n$textbox</p><p>This form was submitted on Your Web Site on \n $date at\n $time</p><p><b>Customers Email Address:</b> $emaile</p><p><b>Customers Name:</b> $name </p><p><b>Customers Phone Number:</b> $phone </p></html> </body>"; 
$body = $text . $jcitems; 
mail($to, $subject, $body, $headers); 
Header('Location: ../form-accepted.php'); 
?> 
+0

Покажите нам код ... –

+0

Привет Я вернулся и с другой идти по этому вопросу. Все еще хаус решил это! Вот код, электронная почта приходит на [email protected], но не по адресу $ emaile из ввода формы. –

ответ

1

что вы делаете не то, что вы хотите сделать. Объединение двух строк в PHP выполняется с помощью. не, поэтому правильный синтаксис:

$to  = '[email protected]'.", ".$emaile; 

или просто

$to  = "[email protected], $emaile"; 

Это предполагает, что код, отвечающий за отправку электронной почты использует mail() функцию PHP, которая позволяет несколько писем в $ аргументу , Если это не сработает, я не могу быть более полезным, не видя фактического кода.

+0

thankyou Я пробовал это, но не получил электронное письмо от $ emaile? –

1

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

$to = '[email protected], ' . $emaile; 

должен сделать трюк.

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

+0

Синтаксис PHP зависит от Perl и. является оператором конкатенации строк в Perl. Хотя в этом конкретном случае вы могли бы объединить два письма со знаком «плюс», не рекомендуется избегать нежелательных эффектов, так как PHP - это свободно печатаемый язык, вы можете получить математический результат вместо конкатенированной строки. –

+0

пробовал этот метод, и я не получаю ошибок, письмо отправляется на адрес строки, но ничего не происходит с адресом переменной –

+0

Вы просто изменили строку '$ to' в коде выше, или вы тоже переместили его? – sammyd

1

Если вы используете PHP mail() function вы можете отправить копию, указав дополнительные заголовки вроде:

$headers = 'Cc: '.$emaile; 
mail($to, $subject, $message, $headers); 
+0

спасибо за комментарии ребята, плохо попробуйте несколько предложений сейчас , –

+0

такой же результат здесь, нет почты, переходящей из переменной входного адреса? –

Смежные вопросы