PHP почтовик не включает тело - PullRequest
1 голос
/ 18 сентября 2011

У меня есть эта форма

<form method="POST" action="mailer.php">
    <div id="email"><input type="email" name="email" class="email" placeholder="example@example.com"></div>
</form>

И этот PHP

<?php

$email = $_POST['email'];
$to = "test@test.com";
$subject = "ADD THIS EMAIL ADDRESS TO THE MAILING LIST";
$body = "\n\n";
$url = 'http://10.0.1.1/~ewiuf';
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
    echo '<script> alert("PLEASE ENTER A VALID EMAIL ADDRESS") </script>';
    echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL=' . $url . '">';
} else {
    if (mail($to, $subject, $body)) {
        echo '<script> alert("THANK YOU FOR SUBSCRIBING TO THE NEWSLETTER") </script>';
        echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL=' . $url . '">';
    } else {
        echo '<script> alert("THERE WAS AN UNEXPECTED ERROR. PLEASE TRY AGAIN LATER") </script>';
        echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL=' . $url . '">';
    }
}
?>

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

Ответы [ 3 ]

2 голосов
/ 18 сентября 2011

$body = "\n\n"; - это единственное место, которое вы устанавливаете или изменяете переменную $body, которая является переменной, которую вы отправляете в качестве тела (третий параметр) для функции mail.

В вашем случае,Я предполагаю, что вы хотите указать только адрес электронной почты в теле, поэтому вы должны использовать $body = $email; для этого или просто использовать $email вместо $body в качестве третьего параметра для mail.

2 голосов
/ 18 сентября 2011

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

<?php
$email = $_POST['email'];
$to = "test@test.com";
$subject = "ADD THIS EMAIL ADDRESS TO THE MAILING LIST";
$body = "User Email: ".$email;
$url = 'http://10.0.1.1/~ewiuf';
if(!filter_var($email, FILTER_VALIDATE_EMAIL))
{
echo '<script> alert("PLEASE ENTER A VALID EMAIL ADDRESS") </script>';
echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL='.$url.'">';
}
else
{
if (mail($to, $subject, $body)) {
echo '<script> alert("THANK YOU FOR SUBSCRIBING TO THE NEWSLETTER") </script>';
echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL='.$url.'">';
 } else {
echo '<script> alert("THERE WAS AN UNEXPECTED ERROR. PLEASE TRY AGAIN LATER") </script>';
echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL='.$url.'">';
 }
}
?>
0 голосов
/ 18 сентября 2011

Вы отправляете "\ n \ n" в $ body.Если я правильно понял ваш вопрос, вы можете добавить к нему $ email, например, $ body = "\ n \ n" + $ email

надеюсь, что это поможет

...