我使用的这个php联系表单返回了我的邮件已被发送的消息,但指定的电子邮件地址没有收到任何电子邮件。
这里是php:
<?php
$to = 'blahbahblah@gmail.com';
if($to) {
$name = $_POST['name'];
$email = $_POST['email'];
$subject = $_POST['subject'];
$message = $_POST['message'];
$html = "";
$html .= "Name: " . htmlentities($name, ENT_QUOTES, "UTF-8") . "<br>\n";
$html .= "Email: " . htmlentities($email, ENT_QUOTES, "UTF-8") . "<br>\n";
$html .= "Message: " . htmlentities($message, ENT_QUOTES, "UTF-8") . "<br>\n";
$headers = "MIME-Version: 1.0\r\nContent-type: text/html; charset=utf-8\r\n";
$headers .= "From: " . $name . "<". $email .">\r\n";
$headers .= "Reply-To: " . $email . "\r\n";
$html = utf8_decode($html);
mail($to, $subject, $html, $headers);
if ($html)
echo 'ok';
else
echo 'error';
} else {
echo "error";
}
?>
以下是与之相关的HTML:
<form method="post" action="contact.php">
<p>
<input type="text" name="name" id="name" placeholder="Name" />
</p>
<p>
<input type="text" name="email" id="email" placeholder="Email" />
</p>
<p>
<input type="text" name="subject" id="subject" placeholder="Subject" />
</p>
<div class="textarea-wrapper">
<textarea name="message" id="message" cols="45" rows="10" placeholder="Message"></textarea>
</div>
<button id="submit">Send</button>
</form>
我意识到这些问题经常发生,但我无法弄明白。非常感谢任何见解。
答案 0 :(得分:0)
"<br>\n"
使用"\r\n"
代替再试一次
答案 1 :(得分:0)
您需要根据与支持代表的对话更改SMTP设置。这些是在PHP.INI中设置的 “发件人”地址应属于运行脚本的域。如果您的脚本在your-website.com上运行,那么From地址应该类似于xyz@website-name.com $ headers =&#34;来自:xyz@website-name.com" ;; 邮件($到,$ SUBJ,$体,$头); 强>
要查看我使用的联系表单,请访问:http://manageproac.com/support/