【发布时间】:2014-04-15 02:09:54
【问题描述】:
我正在使用 go-daddy 托管一个域,但我制作的电子邮件表单不会向该域上托管的任何地址发送电子邮件。这是我的php:
<?php
$name = $_POST['Name'];
$email = $_POST['Email'];
$subject = $_POST['Subject'];
$message = $_POST['Message'];
$headers = 'From: ' .$email;
if ($name == null || $email == null || $subject == null || $message == null) {
echo '<br>';
echo '<center>Please fill all fields.</center>';
} else {
$mail = mail('<example@domain.com>', $subject, $name. ' says: ' .$message, $headers);
if ($mail === true) {
echo '<br>';
echo '<center>Thanks for messaging ';
echo 'example@domain.com';
echo '. We will respond ASAP.</center>';
} else {
echo '<br>';
echo '<center>Your message to: ';
echo 'example@domain.com';
echo ' could not be sent. Please try again later.</center>';
}
}
?>
如果我将邮件功能的电子邮件(第一个参数)设置为我的 gmail 帐户,这可以正常工作,但如果我将其设置为我域中的任何电子邮件,它会失败。当我第一次制作表单时,这段代码运行良好。我没有改变任何东西。有什么建议吗?
【问题讨论】:
-
这听起来像是 DNS 或服务器配置问题。基本上,如果邮箱托管在其他地方,则托管您网站的机器可能会将它们发送到托管机器本地的邮箱中。如果您可以获取邮件日志,您可以尝试确认邮件已发送,如果您有权访问系统邮件文件夹,您可以检查它们是否包含您丢失的邮件。