#php
#php
Вопрос:
Я использую приведенный ниже скрипт для возврата электронного письма с отправленными полями на мой адрес электронной почты.
Недавно я обнаружил необходимость отправки электронного письма с подтверждением тем, кто когда-либо отправлял форму в первую очередь, но я не уверен, как изменить сценарий. Мне в основном нужно, чтобы в нем было сказано что-то вроде «Уважаемый $ name, спасибо, что связались с нами ….».
Пожалуйста, кто-нибудь может помочь?
<?php
//--------------------------Set these paramaters--------------------------
// Subject of email sent to you.
$subject = 'Website Enquiry';
// Your email address. This is where the form information will be sent.
$emailadd = 'myemail@myemail.co.uk';
// Where to redirect after form is processed.
$url = 'thanks.php';
// Makes all fields required. If set to '1' no field can not be empty. If set to '0' any or all fields can be empty.
$req = '0';
// --------------------------Do not edit below this line--------------------------
$text = "WEBSITE ENQUIRY:nn";
$space = ' ';
$line = '
';
foreach ($_POST as $key => $value)
{
if ($req == '1')
{
if ($value == '')
{echo "$key is empty";die;}
}
$j = strlen($key);
if ($j >= 20)
{echo "Name of form element $key cannot be longer than 20 characters";die;}
$j = 20 - $j;
for ($i = 1; $i <= $j; $i )
{$space .= ' ';}
$value = str_replace('n', "$line", $value);
$conc = "{$key}:$space{$value}$line";
$text .= $conc;
$space = ' ';
}
mail($emailadd, $subject, $text, 'From: '.$emailadd.'');
echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL='.$url.'">';
?>
Скрипт позволяет отправлять любой элемент формы в электронном письме без необходимости включать его в php-скрипт.
Адрес электронной почты собран в html
<span class="input">
<input type="text" name="Email" id="Email"/>
</span>
и имя…
<span class="input">
<input type="text" name="Name" id="Name" />
</span>
Большое спасибо
Крейг
Комментарии:
1. Ваш скрипт просто отправляет форму пользователю как есть, если вы не включили части, в которых он отправляет вам данные формы
2. Это верно — я не силен в php, поэтому я не могу понять, как сделать остальное. Я ищу помощи, если это возможно.
3. К вашему сведению: Большая часть этого скрипта просто проверяет и форматирует входные данные. Фактическое электронное письмо отправляется внизу. Вам следует ознакомиться с почтовой функцией PHP: php.net/manual/en/function.mail.php
4. @Marc B: Разве скрипт не отправляет данные формы владельцу веб-сайта?
5. @Alex:
mail()
используется$emailAdd
как для полей To:, так и From:, и этот параметр поступает из опубликованной формы.
Ответ №1:
Этот код отправит подтверждение пользователю, отправившему форму, но он не проверяет, ввел ли он действительный адрес электронной почты. На есть удобный скриптisemail.info который подтвердит это для вас.
Вставьте код чуть выше ---Do not edit below this line---
строки.
// Subject of confirmation email.
$conf_subject = 'Your recent enquiry';
// Who should the confirmation email be from?
$conf_sender = 'Organisation Name <no-reply@myemail.co.uk>';
$msg = $_POST['Name'] . ",nnThank you for your recent enquiry. A member of our
team will respond to your message as soon as possible.";
mail( $_POST['Email'], $conf_subject, $msg, 'From: ' . $conf_sender );