0

我有运行相同脚本的 cPanel 服务器,但我已将服务器名称硬编码到代码中,因为我找不到任何地方来获取实际的服务器域。

想象一下 3 个 cPanel 服务器,它们是服务器域:

apple.hosting.com
banana.hosting.com
carrot.hosting.com

在运行 PHP 脚本通过 SMTP 发送邮件时,我需要连接到服务器并希望使用为安全连接提供的服务器名称。

我不想创建一个 IP 地址数组然后进行比较,因为这不适用于专用 IP 地址。

我尝试了 ini_get('SMTP'),它只返回一个无用的 'localhost'。

我尝试了 ini_get_all(null,false),但没有任何乐趣。

我检查了 $_SERVER 全局,但只出现了正在访问的域。

唯一返回服务器名称的是 phpinfo()。

4

3 回答 3

1

花了一段时间才找到这个,在撰写问题时,我找到了答案。与其浪费我认为的好问题(因为我无法轻易找到答案),不如在这里:

PHP 5.3 的新功能:

gethostname();

就是这样,又好又甜。

在此处阅读更多信息:PHP 函数 gethostname

于 2016-09-13T17:36:08.707 回答
0

您可以给自己发送一封电子邮件,查看电子邮件标题(在 Outlook 中:打开邮件,查看->选项,有“Internet 标题”)

正常的子域是 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

在该页面上,您应该找到信息。

于 2016-09-13T17:37:13.860 回答
0

看看mxtoolbox

除此之外,您可能需要检查stream-socket-client

于 2016-09-13T21:29:25.647 回答