我已经搜索并搜索了答案,但是找不到我特定问题的答案。我只是想在用户填写联系页面并单击“提交”时发送电子邮件。
下面是表单的代码。
<form method="post" action="contactRob.php">
<label for="name">First Name:</label>
<input type="text" name="name" id="name" />
<label for="lastName">Last Name:</label>
<input type="text" name="lastName" id="lastName" />
<label for="email">Email:</label>
<input type="text" name="email" id="email" />
<label for="message">Message:</label><br />
<textarea name="message" rows="20" cols="20" id="message"></textarea>
<label>*What is 2+2? (Anti-spam)</label>
<input name="human" placeholder="Type Here">
<input type="submit" name="submit" value="Submit" class="submit-button" />
</form>
下面是我正在使用的PHP。
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$from = $_POST['lastName'];
$to = 'juliansilvestri92@gmail.com';
$subject = 'Hello';
$human = $_POST['human'];
$body = "From: $name\n E-Mail: $email\n Message:\n $message";
if ($_POST['submit'] && $human == '4') {
if (mail ($to, $subject, $body, $from)) {
echo '<p>Your message has been sent!</p>';
} else {
echo '<p>Something went wrong, go back and try again!</p>';
}
} else if ($_POST['submit'] && $human != '4') {
echo '<p>You answered the anti-spam question incorrectly!</p>';
}
?>
我想念什么? 当前,该网站位于托管服务器域上。 当我单击“提交”按钮时,出现“我出了点问题”错误提示。
任何帮助将不胜感激。
答案 0 :(得分:3)
您的名字是第一个大写字母,而结果不在。
$message = $_POST['email'];
<input type="text" name="Email" id="Email" />
都将小写。然后回显$ body可能会有所帮助,查看数据是否与您输入的相同,注释邮件部分,查看错误是来自邮件还是来自DOM本身。如果它的邮件程序问题导致了您的错误,请继续阅读有关邮件程序的更多信息,这无济于事。
您的发件人不正确。
$to = "somebody@example.com";
$subject = "My subject";
$txt = "Hello world!";
$headers = "From: webmaster@example.com" . "\r\n" .
"CC: somebodyelse@example.com";
mail($to,$subject,$txt,$headers);
您的来源应如下所示:
$from = "From: ".$_POST['email']."\r\n CC: ".$_POST['lastName'];
或类似的东西。
关于它的所有话题都准备好了,有一个坦诚的评论,您将不会错过。 PHP mail function doesn't complete sending of e-mail 进行该评论所指示的操作,您很可能会解决或理解该问题。
祝你好运。
答案 1 :(得分:1)
大多数服务器不允许您仅使用php邮件功能发送电子邮件,请使用php邮件程序功能从任何本地开发服务器/实时Web服务器发送邮件。
https://github.com/PHPMailer/PHPMailer
对于默认邮件发送,您也可以使用这些参数
$to = "somebody@example.com";
$subject = "My subject";
$txt = "Hello world!";
$headers = "From: webmaster@example.com" . "\r\n" .
"CC: somebodyelse@example.com";
mail($to,$subject,$txt,$headers);