[英]PHP contact form giving error
我的基本聯系表給我錯誤“發送郵件時出錯”。 當然,下面的代碼非常簡單,沒有針對垃圾郵件發送者或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";
}
}
?>
您的代碼正常運行,並且我假設您收到“郵件已發送”響應。
如果不是,那么您首先要檢查php.ini以獲取正確的sendmail路徑(我相信這是默認設置):
sendmail_path = / usr / sbin / sendmail -t -i
如果sendmail路徑正確,您是否在郵件日志中看到您的電子郵件? 我還將通過在服務器本身上郵寄您的用戶帳戶進行測試。
您更有可能被垃圾郵件過濾器所擁有,特別是如果您通過電子郵件發送到“ @ hotmail.com”地址。
請參閱此SO問題以獲取一些指導
mail()
函數在php中不是很可靠,並且很難配置...所以我建議您使用PHPMailer發送郵件...您可以在此處閱讀有關如何使用PHPMailer發送郵件的所有信息: PHPMailer GitHUB
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.