【问题标题】:PHP mail function (sending to my own domain)PHP邮件功能(发送到我自己的域)
【发布时间】: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 或服务器配置问题。基本上,如果邮箱托管在其他地方,则托管您网站的机器可能会将它们发送到托管机器本地的邮箱中。如果您可以获取邮件日志,您可以尝试确认邮件已发送,如果您有权访问系统邮件文件夹,您可以检查它们是否包含您丢失的邮件。

标签: php email


【解决方案1】:

你的代码没有什么可改变的,邮件功能使用 php 配置文件 (php.ini) 中的 smtp 设置。从 php.ini 检查您正在使用的服务器并查看邮件服务器配置。向某些域发送邮件可能会受到限制。

【讨论】:

  • 如果服务器在 unix/linux 上运行,请检查 /var/log/maillog 下的电子邮件服务器日志是否有错误。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-11
  • 2014-05-23
  • 2011-10-28
  • 2015-03-15
  • 2016-05-22
相关资源
最近更新 更多