如何从 PHP 中查找 SMTP 的服务器域名?
How to find server domain name for SMTP from PHP?
我有 运行 相同脚本的 cPanel 服务器,但我已将服务器名称硬编码到代码中,因为我找不到任何地方获取实际的服务器域。
假设有 3 个 cPanel 服务器,这些是服务器域:
apple.hosting.com
banana.hosting.com
carrot.hosting.com
虽然 运行正在使用 PHP 脚本通过 SMTP 发送邮件,但我需要连接到服务器并希望使用为安全连接提供的服务器名称。
我不想创建 IP 地址数组然后进行比较,因为这不适用于专用 IP 地址。
我试过ini_get('SMTP'),只是returns没用'localhost'。
我尝试了 ini_get_all(null,false),但没有成功。
我检查了全局$_SERVER,但是只出现了被访问的域。
唯一返回服务器名称的是 phpinfo()。
找了好久,在写题的过程中,我找到了答案。与其浪费我认为的好问题(因为我无法轻易找到答案),这里是:
PHP 5.3 的新增功能:
gethostname();
就是这样,很可爱。
在此处阅读更多内容:PHP function gethostname
您可以给自己发一封电子邮件,查看电子邮件 header(在 Outlook 中:打开邮件,查看 -> 选项,有“Internet headers)
正常的sub-domain是mail.domain.com,另一种解决方案可以是:
按照这个:
cpanel --> go to your mailing accounts -- > click on configure mail account -- > there somewhere in the page you will get the information about your smtp server
在该页面上您应该可以找到信息。
除此之外,您可能需要查看 stream-socket-client
我有 运行 相同脚本的 cPanel 服务器,但我已将服务器名称硬编码到代码中,因为我找不到任何地方获取实际的服务器域。
假设有 3 个 cPanel 服务器,这些是服务器域:
apple.hosting.com
banana.hosting.com
carrot.hosting.com
虽然 运行正在使用 PHP 脚本通过 SMTP 发送邮件,但我需要连接到服务器并希望使用为安全连接提供的服务器名称。
我不想创建 IP 地址数组然后进行比较,因为这不适用于专用 IP 地址。
我试过ini_get('SMTP'),只是returns没用'localhost'。
我尝试了 ini_get_all(null,false),但没有成功。
我检查了全局$_SERVER,但是只出现了被访问的域。
唯一返回服务器名称的是 phpinfo()。
找了好久,在写题的过程中,我找到了答案。与其浪费我认为的好问题(因为我无法轻易找到答案),这里是:
PHP 5.3 的新增功能:
gethostname();
就是这样,很可爱。
在此处阅读更多内容:PHP function gethostname
您可以给自己发一封电子邮件,查看电子邮件 header(在 Outlook 中:打开邮件,查看 -> 选项,有“Internet headers)
正常的sub-domain是mail.domain.com,另一种解决方案可以是:
按照这个:
cpanel --> go to your mailing accounts -- > click on configure mail account -- > there somewhere in the page you will get the information about your smtp server
在该页面上您应该可以找到信息。
除此之外,您可能需要查看 stream-socket-client