为什么联系表单不发送电子邮件给客户?
问题描述:
当我将电子邮件更改为我的个人hotmail地址时,该消息就会出现 - 尽管它位于我的垃圾邮件文件夹中。但是,当我将此更改为客户的电子邮件时,该消息根本没有变动。有人知道我能如何解决这个问题吗?为什么联系表单不发送电子邮件给客户?
这是该表单的PHP:
<?php
if(isset($_POST['submit'])) {
$name = $_POST['name'];
$address = $_POST['address'];
$number = $_POST['number'];
$email = $_POST['email'];
$message = $_POST['message'];
$subject = 'Message from Reef Cleaning solutions website';
$to = '[email protected]';
if (empty($name) || empty($address) || empty($number) || empty($email) || empty($subject) || empty($message)) {
if (empty($name))
$error['name'] = "Please enter your Full Name";
if (empty($address))
$error['address'] = "Please enter your address";
if (empty($number))
$error['number'] = "Please enter a contact number";
if (empty($email))
$error['email'] = "Please enter a valid Email Address";
if (empty($message))
$error['message'] = "Please write a message, enquiries or other concerns above";
}
else { //if not empty
$body = "
Name: $name\r\n
Address: $address\r\n
Number: $number\r\n
Email: $email\r\n
Message: $message
";
$headers="From: {$email}\r\nReply-To: {$email}"; //create headers for email
if(mail($to,$subject,$body,$headers))
{
$success = "mail has been sent";
}
else
{
echo "error during sending mail";
}
}
}
?>
这是HTML
<form method="POST">
<table border="1">
<tr>
<td><label for="name" class="g">Name</label></td>
<td><input id="name" name="name" type="text" autofocus required /></td>
</tr>
<tr>
<td><label for="address" class="g">Address</label></td>
<td><textarea rows="3" id="address" name="address" cols="50"></textarea></td>
</tr>
<tr>
<td><label for="number" class="g">Contact number</label></td>
<td><input id="number" name="number" type="text" autofocus required /></td>
</tr>
<tr>
<td><label for="email" class="g">Email</label></td>
<td><input id="email" name="email" type="text" placeholder="[email protected]" autofocus required /></td>
</tr>
<tr>
<td><label for="message" class="g">Enquiry</label></td>
<td><textarea rows="3" id="message" name="message" required cols="50"></textarea></td>
</tr>
</table>
<input type="submit" value="Submit" name="submit" />
<div id="message-sent">
<?php
if ($success) {
echo $success;
}
?>
</div>
</form>
答
如果您收到您的电子邮件消息,它不是从PHP代码中的问题,因为它成功发送邮件。
那么,配置的电子邮件是否正确?你可以用你的个人地址发送电子邮件到这个地址吗?
你告诉该电子邮件被视为对您的personnal地址的垃圾邮件,也许是这个其他的地址同样的事情,但该消息不落的“垃圾邮件”文件夹,但不能进入邮箱。
如果它出现在垃圾邮件文件夹中,它将被发送;因此它的问题客户端 – Ryan 2013-05-10 12:11:57
我想他是说如果他发送电子邮件到一个hotmail帐户的电子邮件发送和进入垃圾邮件文件夹在Hotmail。如果他将电子邮件发送到[email protected],则不会发送电子邮件。但是..你有什么错误吗?我的意思是,电子邮件被您的客户发送和拒绝,或邮件根本不发送?你至少能够检测到? HTML表单很好,即使代码看起来不错。 – Madthew 2013-05-10 12:14:40
我正在使用outitgoes.com测试客户端电子邮件地址,并且此收件箱或垃圾邮件文件夹中未显示任何内容。 但是,当我在我的个人hotmail上测试它时,它确实出现在我的电子邮件中。 – 2013-05-10 12:17:04