我的基本联系表格在发送邮件时给出了错误"错误"。当然,下面的代码非常简单,没有针对垃圾邮件发送者或SQL注入的保护,但我目前主要担心的是发送消息。
尽管问题很简单,但请提前感谢您提供的任何帮助。
HTML:
<form action="sendmail.php" method="post">
<table>
<tr>
<td>Name:</td>
<td><input type="text" name="Name" size="20" maxlength="40" /></td>
</tr>
<tr>
<td>Email:</td>
<td><input type="text" name="Email" size="20" maxlength="60" /></td>
</tr>
<tr>
<td>Message:</td>
<td><textarea name="Message" maxlength="1000" cols="25" rows="6"></textarea></td>
</tr>
</table>
<div align="left">
<input name="submit" type="submit" />
</div>
</form>
sendmail.php PHP:
<?php
if(isset($_POST['submit']))
{
$name = $_POST['Name'];
$email = $_POST['Email'];
$message = $_POST['Message'];
$from = 'From: CWON Australia';
$to = "......@hotmail.com";
$subject = "CWON Message";
$content = "From: $name\n E-Mail: $email\n Message:\n $message";
if(mail ($to, $subject, $content, $from)) {
echo "mail has been sent";
}
else
{
echo "error during sending mail";
}
}
?>
答案 0 :(得分:1)
您的代码正常运行,我假设您收到了“已发送邮件”的回复。
如果你不是,那么你首先要检查你的php.ini是否有正确的sendmail路径(我相信这是默认的):
sendmail_path = / usr / sbin / sendmail -t -i
如果sendmail路径良好,您是否在邮件日志中看到了您的电子邮件?我还会通过在服务器上邮寄您的用户帐户进行测试。
您更有可能被垃圾邮件过滤器拥有,尤其是当您通过电子邮件发送到“@ hotmail.com”地址时。
答案 1 :(得分:0)
mail()
函数在php中不是很可靠,而且很难配置......所以我建议你使用 PHPMailer 发送你的邮件......
您可以在此处阅读有关如何使用PHPMailer发送邮件的所有内容:PHPMailer GitHUB