我有一个利用 PHP Mail() 函数的 HTML 表单。我使用的 SMTP 服务器是 localhost,不需要身份验证。
<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 = 'hr@example.com';
$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: <hr@example.com>' . "\r\n";
$headers .= 'Cc: dev@example.com' . "\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 Mail 吗?我也尝试过实现这一点,但我没有收到电子邮件。我不知道它是否失败。脚本运行,我得到了echo
,但我从来没有收到电子邮件。它没有进入垃圾邮件文件夹。
该站点(连同此脚本)托管在 下example.com
,但电子邮件使用 localhost 和 smtp 服务器mail.example.com
。它们托管在同一台服务器上。域名的差异可能是个问题吗?