无法向我自己的域中的地址发送电子邮件

sol*_*sol 31 php email dns

我的域上有一个简单的PHP脚本,它给我发了一封电子邮件:

...
$toMail = "me@gmail.com"; //this works - I get the email at my gmail
$toMail = "me@mydomain.com"; //this doesn't - I get nothing

mail($toMail, $subject, $message, $header); 
Run Code Online (Sandbox Code Playgroud)

我改变什么设置来解决这个问题?

Vic*_*icM 48

对于使用Google Apps for email的人,但将您的主机放在其他提供商中,这是针对不熟悉cPanel的人员的更详细说明.

我可以解决使用PHP表单从我的域发送电子邮件的问题,将电子邮件发送到我的域内的帐户.

即mydomain.com联系表格发送电子邮件至contact@mydomain.com.即使我的域名使用Google Apps的域名具有正确的MX记录,上述操作也无效.

正如迈克在上面提到的那样(以及其他人),问题得到了解决:将MX记录添加到cPanel中.

  1. 进入cPanel
  2. 转到cPanel邮件部分
  3. 搜索MX Entry Maintenance,有时图标上方没有文字.
  4. 选择相关域
  5. 电子邮件路由更改为远程邮件交换器.
  6. 使用适当的优先级值添加域配置中的所有Google MX记录.您可以在此处查看记录和优先级 https://support.google.com/a/answer/174125
  7. 仔细检查远程邮件交换器.被选中.

通过此设置,我能够使用邮件PHP功能将电子邮件发送到与我的网站位于同一域内的电子邮件帐户.

有关MX记录的Google App说明 https://support.google.com/a/answer/54717?hl=zh-CN

  • 我在原始Ubuntu VPS上运行我的服务器.我没有任何cPanel,但我也面临这个问题.有什么想法可以解决吗? (2认同)

sch*_*eve 20

我最近在重新设计网站时遇到了这个问题.

我们的系统设置方式存在问题,因此系统认为因为电子邮件来自同一个域,所以它是垃圾邮件,因此阻止了它.

请咨询系统管理员,确认您可以发送电子邮件等.

要么是这样,要么你必须修改标题,使其看起来像是从外部地址发送的.希望你把它分类.


Mic*_*ein 13

https://serverfault.com/questions/65365/disable-local-delivery-in-sendmail的最佳答案对我来说似乎是正确的.它的要点是你需要sendmail.mc中的以下内容:

define(`MAIL_HUB`, 'example.com.')dnl
define(`LOCAL_RELAY`, 'example.com.')dnl
Run Code Online (Sandbox Code Playgroud)

其中example.com是相关域名.


小智 12

如果您使用postfix,请执行以下操作:

  1. 通过ssh连接到您的服务器.
  2. 编辑main.cf文件:

nano /etc/postfix/main.cf

  1. #评论以下行:

# mydestination = ...

  1. main.cf文档的末尾添加:

mydestination =

  1. 通过运行以下命令重新加载后缀配置:

/etc/init.d/postfix reload

  • 只有与我合作的解决方案 (4认同)

Dav*_*att 10

您需要在邮件功能上设置其他参数.在您的工作示例中,您需要在电子邮件地址前加上'-f',例如

mail($toMail, $subject, $message, $header, "-fme@mydomain.com");

  • @redolent这几个小时之后我也为我工作了.谢谢! (3认同)
  • 嗯,“-f”有什么作用? (2认同)