【发布时间】:2018-11-14 22:06:29
【问题描述】:
所以我目前正在开发一个网站,我希望客户能够通过联系表格直接将邮件发送到我的电子邮件。我现在正在通过 wamp 服务器 3 运行所有文件,现在我正在测试邮件功能是否适用于侦听端口 25 的测试邮件服务器。
这是表单的 PHP 代码:
<?php
$myemail = "test.xample@xample.com";
if (isset($_POST['email']))
{
echo "Thank you for contacting us!";
/* Set e-mail recipient */
/* Check all form inputs using check_input function */
$name = ($_POST['name']);
$subject = ($_POST['subject']);
$email = ($_POST['email']);
$message = ($_POST['message']);
/* If e-mail is not valid show error message */
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/", $email))
{
show_error("E-mail address not valid");
}
if ($name = "")
{
show_error("You need to write your name...");
}
if ($email = "")
{
show_error("You need to enter a email...");
}
if ($message = "")
{
show_error("A message is required if you wish to have out help...");
}
/* Let's prepare the message for the e-mail */
$mail = "Hello!
Your contact form has been submitted by:
Name: $yourname
E-mail: $email
Message:
$Message
End of message
";
/* Send the message using mail() function */
mail($myemail, $subject, $message);
/* Functions we used */
function check_input($data, $problem='error')
{
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
if ($problem && strlen($data) == 0)
{
show_error($problem);
}
return $data;
}
function show_error($myError)
{
?>
<html>
<body>
<b>Please correct the following error:</b><br />
<?php echo $myError; ?>
</body>
</html>
<?php
exit();
}
}
?>
这是表单的 HTML 部分:
<form class="mt-5 ml-5 mr-5" method="_POST" action="handler.php" id="reused_form">
<p id="contactForm" class="h4 text-center mt-5"><strong>Kontakta oss</strong></p>
<!-- input text(Name) -->
<div class="md-form">
<i class="fa fa-user prefix">*</i>
<input type="text" name="name" id="name" class="form-control">
<label for="name">Ditt namn</label>
</div>
<!-- input email -->
<div class="md-form mt-5">
<i class="fa fa-envelope prefix">*</i>
<input type="email" name="email" id="email" class="form-control validate">
<label for="email" data-error="Fel" data-success="Rätt">Din email</label>
</div>
<div class="md-form mt-5">
<i class="fa fa-user prefix"></i>
<input type="text" id="subject" class="form-control">
<label for="subject">Ämne</label>
</div>
<!-- input message -->
<div class="md-form mt-5">
<i class="fa fa-pencil prefix">*</i>
<textarea type="text" name="message" id="message" maxlength="5000" class="form-control md-textarea" rows="3"></textarea>
<label for="textareaPrefix">Meddelande</label>
</div>
<div class="text-center mt-4 mb-4">
<button class="btn danger-color" type="submit">Skicka</button>
</div>
</form>
当我按下提交按钮时,唯一发生的事情是它被添加到 URL:
我对此测试的输入:
- 姓名:asd
- 电子邮件:asd@ad
- 消息:asd
/handler.php?name=asd&email=asd%40ad&message=asd
所以它只是在 URL 中添加输入的值...
我需要帮助的是如何解决这个问题并能够邮寄。如果有人可以提供帮助,我将非常高兴。
【问题讨论】:
-
您能从表单方法
_POST中删除下划线吗? 编辑,声誉农民来了!由于错字而投票关闭。 -
就可以了。投票结束只是一个简单的错字。
-
我推荐你使用 PHPMailer 之类的 PHP 邮件库。它对我有用。
-
@Amauri 这如何解决他们的问题?问题不在于发送电子邮件。它是以他们期望的方式将数据获取到表单中。
-
有点遗憾 - 有人竭尽全力提供 MCVE 并提出一个相当合理的问题(而不是 d/v -> close -> move on)......一切都是为了一点点
_:|
标签: php html wampserver mail-server