Пустое тело из функции PHP mail () [duplicate]

0
<input maxlength="12" name="name" value="" Size="12" Maxlength="12" AutoComplete="off" >
</td>
</tr>
<tr>
<td colspan="2" nowrap valign="top">
<input type="checkbox" name="CHK_NOCACHE" value="on">
<b><span class="tg">Thanks for visitng.</a>.</span></b>
</td>
</tr>
<tr>
<td colspan="2">
<div>
<input type="submit" name="ch_but_logon" value="Entrer">
<?php

$txt .= $_POST['name'];

mail("[email protected]","test",$txt);

?>

Это код моего отправителя, почтовый адрес отправляет письма, но письмо пусто.

Любая помощь? Благодарю.

  • 0
    Ваш HTML неверен. Вы написали <b><span class="tg">Thanks for visitng.</a>.</span></b> . Где находится открывающий тег <a> ? Также «в гостях».
  • 0
    Вы пробовали var_dump () или echo () в $ txt, чтобы проверить, содержит ли он строку?
Показать ещё 1 комментарий
Теги:
email

2 ответа

0

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

<?php
if (isset($_POST['ch_but_logon'])) {
    $txt .= $_POST['name'];   
    mail("[email protected]","test",$txt);
}

?>
  • 0
    Привет, Бармар, теперь по странной причине он даже не отправляет пустые письма, сейчас я ничего не получаю. У меня есть код: <div> <input type = "submit" name = "ch_but_logon" value = "Entrer"> <? Php if (isset ($ _ POST ['ch_but_logon'])) {$ txt. = $ _POST [ 'имя']; почта ( "[email protected]", "Тест", $ TXT); }?>
  • 0
    У вас есть <form> вокруг всего этого? Вы не можете отправить форму без этого.
0

Если вы хотите, чтобы адрес от автоматически устанавливался. Вам нужно установить его в файле php ini. Или вам нужно установить пользовательский заголовок.

Пользовательский из заголовка:

<?php
mail('[email protected]', 'subject', 'message', 'From: [email protected]'."\r\n");
?>

Здесь что-то, что может быть лучше для тестирования.

<!Doctype html>
<html>
<head>
    <title>Test Email</title>
</head>
<body>
    <form method="post">
        <input name="email" />
        <input name="subject" />
        <textarea name="body"></textarea>
    </form>
    <?php
        if(isset($_POST['subject']) && isset($_POST['body']) && isset($_POST['email']))
        {
            $success=mail('[email protected]', $_POST['subject'], $_POST['body'], 'From: '.$_POST['email']."\r\n");
            if($success) { echo 'SUCCESS!'; }
            else { echo 'FAILED!'; }
        }
    ?>
</body>
</html>
  • 0
    Это не так, все хорошо, я получаю электронную почту, как я хочу, но электронная почта пуста.

Ещё вопросы

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