PHP邮件、DNS请求超时、FQDN

2024-03-12

我要实现mail()我的 PHP 工作Windows Server 2012 R2。为此,我首先安装了SMTP依照指示这一页 http://www.vsysad.com/2014/09/setup-and-configure-smtp-server-on-windows-server-2012/.

让我困惑的一件事是Full-qualified domain name. WIN-RFELH8GM0KN是它默认建议的。我的服务器托管多个网站,有人知道我应该在此处指定哪个网站吗?

我没有改变这一点,因此,mail www.google.com in nslookup回报DNS request timed out.那么这是一个错误吗?

当然,我的test.php不发送邮件:

<?php
mail('[email protected] /cdn-cgi/l/email-protection', 'title', 'content');
?>

有人可以帮忙吗?

Update 1按照@LittleAI的回答,我启动了SMTP,但是DNS request timed out仍然存在:

Update 2这是php.ini:

telnet localhost 25返回以下内容:

Update 3这是一个测试,效果很好:我确实在收件箱中收到了测试邮件[email protected] /cdn-cgi/l/email-protection。但是,如果我重做测试Update 1,还有DNS requested time out.. And test.php还是无法发送邮件...

Update 4我刚刚意识到我关注的页面 http://www.vsysad.com/2014/09/setup-and-configure-smtp-server-on-windows-server-2012/, it is mail.vsysad.com under nslookup(我以为是mail vsysad.com,这就是我尝试的原因mail www.google.com这没有意义)。所以它也可以在我的服务器上运行,并且没有DNS request timed out.

然后,我仔细检查了php.ini,我意识到sendmail_from并非没有评论。所以我取消注释并设置sendmail_from = [email protected] /cdn-cgi/l/email-protection, 因此,mail()php 现在可以工作了,所以问题解决了,尽管我仍然不明白 FQDN 及其默认值(即,WIN-RFELH8GM0KN)...


我注意到的第一件事是 IIS 中的 SMTP 虚拟服务未处于启动状态,因此这会导致问题。测试前请确保该服务处于启动状态。

FQDN 名称主要用于 SMTP 横幅,发件人通过端口 25 连接到服务器时将显示该横幅。

也许值得将 DNS 角色安装到您的服务器上,并创建一个引用虚假域(例如 test.com)的正向查找区域,并使用您的服务器 IP 在该区域内创建一个名为 SMTP 的记录。然后确保将您的服务器设置为使用 127.0.0.1 作为 DNS 提供商,以便它可以在将响应委托给根提示/外部 dns 转发器之前检查记录。

您需要使用 Telnet 执行 SMTP 请求,以确认 SMTP 正在侦听端口 25。您可以使用本地主机 IP 地址 (127.0.0.1) 来执行此操作,如下所示:

  telnet 127.0.0.1 25
  helo test.com
  MAIL FROM: ****YOUR EMAIL ACCOUNT****
  RCPT TO: ****SENDERS ADDRESS****
  DATA

由于 SPF 记录仅允许某些 IP/主机名作为 google.com 发送,您可能不会收到从中继到 GMAIL 的电子邮件,但为了测试,您应该看到您的服务器在输入数据后收到邮件。

这是在服务器上使用 telnet 的指南。只需确保您已安装 telnet 功能,因为默认情况下未安装此功能。

http://www.yuki-onna.co.uk/email/smtp.html http://www.yuki-onna.co.uk/email/smtp.html

额外的:

 telnet localhost 25

在 SMTP 横幅后键入以下命令,但请确保不要犯任何错误,否则您可能需要重新开始会话。

 helo test.com

然后您应该会看到 250 响应,表明服务器正在监听

键入以下内容:

MAIL FROM: [email protected] /cdn-cgi/l/email-protection

它应该响应“确定”。如果是这样,则输入:

RCPT TO: ***YOU EMAIL ADDRESS OF CHOICE****

同样,它应该以 OK 响应。如果是这样,请输入以下内容:

DATA

在 DATA 命令后按 Enter 键。现在进入电子邮件正文。出于测试目的,我们将忽略主题栏,只向正文添加一些数据。

  This is a test email.

然后,要完成电子邮件,您需要按回车键留下一个空行,然后按句号,然后像这样再次回车。

    ***BLANK LINE****
    .
    ***Hit Return****

截屏所有命令,但您可以清空电子邮件,以便我可以看到输出。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP邮件、DNS请求超时、FQDN 的相关文章

随机推荐