PHP邮件功能(发送到我自己的域)
我与go daddy一起托管一个域名,但我制作的电子邮件表单不会向该域名上托管的任何地址发送电子邮件。以下是我的php:PHP邮件功能(发送到我自己的域),php,email,Php,Email,我与go daddy一起托管一个域名,但我制作的电子邮件表单不会向该域名上托管的任何地址发送电子邮件。以下是我的php: <?php $name = $_POST['Name']; $email = $_POST['Email']; $subject = $_POST['Subject']; $message = $_POST['Message']; $headers = 'From: ' .$email; if ($name == null || $email == nul
<?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>';
}
}
?>
如果我将邮件功能的email(第一个参数)设置为我的gmail帐户,这可以正常工作,但是如果我将其设置为我域中的任何电子邮件,它就会失败。当我第一次制作表单时,这个代码工作得很好。我对此没有任何改变。有什么建议吗?您的代码中没有要更改的内容,mail函数使用php配置文件(php.ini)中的smtp设置。从php.ini检查您正在使用的服务器,并查看邮件服务器配置。向某些域发送邮件可能有限制。对我来说,这听起来像是DNS或服务器配置问题。基本上,如果邮箱托管在其他位置,则站点所在的计算机可能会将它们发送到托管计算机的本地邮箱中。如果您可以获取邮件日志,则可以尝试确认邮件已发送,如果您有权访问系统邮件文件夹,则可以检查它们是否包含丢失的邮件。如果服务器运行在unix/linux上,请检查/var/log/maillog下的邮件服务器日志以了解错误。