我有一个利用PHP Mail()函数的HTML表单。我使用的SMTP服务器是localhost,不需要验证。PHP不会发送HTML邮件
<form action="../../Scripts/fused.php" method="POST"><p>Name</p> <input type="text" name="name">
<p>Email</p> <input type="text" name="email">
<p>Phone</p> <input type="text" name="phone">
<p>Request Phone Call:</p>
Yes:<input type="checkbox" value="Yes" name="call"><br />
No:<input type="checkbox" value="No" name="call"><br />
<p>Website</p> <input type="text" name="website">
<p>Message</p><textarea name="message" rows="6" cols="25"></textarea><br />
<input type="submit" value="Send"><input type="reset" value="Clear">
</form>
这里是php文件:
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$call = $_POST['call'];
$website = $_POST['website'];
$message = $_POST['message'];
$formcontent = 'From: $name \n Phone: $phone \n Call Back: $call \n Website: $website \n Message: $message';
$recipient = '[email protected]';
$subject = 'Fused Enterprises Contact Form';
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";
$headers .= 'From: <[email protected]>' . "\r\n";
$headers .= 'Cc: [email protected]' . "\r\n";
mail($recipient, $subject, $formcontent, $headers) or die("Error!");
echo "Thank You, the form has been submitted. Someone from the Team will contact you shortly." . " -" . "<a href='/Home/' style='text-decoration:none; color:#1e90ff;'> Return Home</a>";
?>
我一定要实现PEAR邮件?我也试图实现,并且我没有收到电子邮件。我不知道它是否失败。脚本运行,我得到echo
,但我从来没有收到电子邮件。它没有去垃圾邮件文件夹。
该网站托管(与此脚本一起)在example.com
下,但电子邮件使用本地主机与smtp服务器mail.example.com
。它们托管在同一台服务器上。域名的差异可能是一个问题?
当你说“不会发送”你的意思是它给人的错误,或者您没有收到该电子邮件?你有检查过你的垃圾邮件文件夹吗? – 2013-03-05 19:40:17
我没有收到电子邮件。我没有任何迹象表明它是否失败。我也检查过垃圾邮件文件夹,但它会发送两封不同的电子邮件,但都未收到。 – user1453549 2013-03-05 19:51:07
检查您的邮件日志。 – Sammitch 2013-03-05 21:11:28