PHP mail()函数的空体

时间:2013-12-15 06:07:40

标签: php html email

<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("myemail@mail.com","test",$txt);

?>

这是我的发件人的代码,本地人发送电子邮件,但电子邮件是空的。

有任何帮助吗?感谢。

2 个答案:

答案 0 :(得分:0)

如果您想自动设置发件人地址。你需要在php ini文件中设置它。或者您需要从标题中设置自定义。

自定义标题:

<?php
mail('my@email.com', 'subject', 'message', 'From: your@email.com'."\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('my@email.com', $_POST['subject'], $_POST['body'], 'From: '.$_POST['email']."\r\n");
            if($success) { echo 'SUCCESS!'; }
            else { echo 'FAILED!'; }
        }
    ?>
</body>
</html>

答案 1 :(得分:0)

您没有检查表单是否已提交,因此当用户只显示表单时,您就会发送电子邮件。

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

?>