无法为我发送电子邮件的此代码有什么问题?
if (isset($_POST['name']) and (isset($_POST['email'])) and (isset($_POST['text']))) {
$name = $_POST['name'];
$email = $_POST['email'];
$text = $_POST['text'];
if (!empty($name) and !empty($email) and !empty($text)) {
$to = '[email protected]';
$subject = 'Testing';
$body = $text;
$headers = 'From : [email protected]';
if(mail($to, $subject,$body,$headers)) {
echo 'Email Has bin sent.';
}
else echo "Can't Send mail";
}
}
我已经尝试了很多次,但是代码无法正常工作。
HTML是:
<html>
<form action="" method="POST">
Name : <br>
<input type="text" name="name">
<br><br>
Email : <br>
<input type="email" name="email">
<br><br>
Message : <br>
<textarea name="text" rows="6" cols="30"></textarea>
<Br><br>
<input type="submit" value="Send">
</form>
</html>
我现在该怎么办 ?请帮我 :(
经过测试(完全按照发布使用)
这个问题似乎是由之间的空间所引起From
和大肠:
中
$headers = 'From : [email protected]';
^-- right there
经过测试,直到我删除了它们之间的空格,才收到电子邮件。
我还添加了一个额外的条件语句来添加Submit按钮name="submit"
。
使用以下内容,电子邮件已成功发送和接收。
<?php
if (isset($_POST['submit'])){
if (isset($_POST['name']) && (isset($_POST['email'])) && (isset($_POST['text']))) {
$name = $_POST['name'];
$email = $_POST['email'];
$text = $_POST['text'];
if (!empty($name) && !empty($email) && !empty($text)) {
$to = "[email protected]";
$subject = 'Testing';
$body = $text;
$headers = 'From: [email protected]';
if(mail($to, $subject,$body,$headers)) {
echo 'Email has been sent.';
}
else { echo "Can't Send mail"; }
}
}
} // closing brace for if (isset($_POST['submit']))
?>
<html>
<form action="" method="POST">
Name : <br>
<input type="text" name="name">
<br><br>
Email : <br>
<input type="email" name="email">
<br><br>
Message : <br>
<textarea name="text" rows="6" cols="30"></textarea>
<Br><br>
<input type="submit" name="submit" value="Send">
</form>
</html>
脚注:如果您不希望在用户单击“提交”后重新显示该表单,则可以使用以下命令:
if(mail($to, $subject,$body,$headers)) {
echo 'Email has been sent.';
echo "<br>";
echo '<a href="index.php">Click here</a> to return to our Website.';
exit; // this is the command to use in order not to show the form after
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句