所以我有一个很小的html表单,现在我想使用php将数据发送到电子邮件中。对于表单,我使用了一个模板,我更改了一些名称。有一次,它发送了一封电子邮件,但它是空的,从所有其他尝试中,我根本没有收到邮件。通过在互联网上搜索,我得到的是我没有做错任何事情,检查过名字和所有的东西。
html:
<div id="contact">
<h1>Neem contact met ons op</h1>
<form class="cd-form floating-labels" action="form_sent.php" method="post" enctype="text/plain">
<fieldset>
<div class="error-message">
<p>Vul een geldig e-mailadres in</p>
</div>
<div class="icon">
<label class="cd-label">Naam</label>
<input class="user" type="text" name="cd-name" id="cd-name" required>
</div>
<div class="icon">
<label class="cd-label">Bedrijf</label>
<input class="company" type="text" name="cd-company" id="cd-company">
</div>
<div class="icon">
<label class="cd-label">Email</label>
<input class="email" type="email" name="cd-email" id="cd-email" required>
</div>
</fieldset>
<fieldset>
<div> </div>
<div class="icon">
<label class="cd-label">Bericht</label>
<textarea class="message" name="cd-textarea" id="cd-textarea" required></textarea>
</div>
<div>
<input type="submit" value="Verzenden">
</div>
</fieldset>
</form>
</div> php:
<?php
$user = $_POST['cd-user'];
$company = $_POST['cd-company'];
$email = $_POST['cd-email'];
$message = $_POST['cd-textarea'];
$to = "van_vliet@wxs.nl";
$subject = "Website bericht";
mail ($to , $subject , $message, "From: " , $user , $company , $email);
echo "Bedankt voor uw bericht";
?>发布于 2017-08-17 02:06:47
您向mail()传递了错误的参数。它希望有5到2个可选的:
bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )在你的例子中,我认为最后3个参数只有一个,所以这样做:
$userInfo = $user." ".$company." <".$email.">";
mail ($to , $subject , $message, "From: ".$userInfo);此外,对于$user,您将得到用户“cd-$_POST”,但是输入的name是cd-name,而不是cd-user
--
问题最终是PHP不能处理enctype=“文本/纯文本”,所以移除它就解决了它。
https://stackoverflow.com/questions/45720228
复制相似问题