gpt4 book ai didi

PHP mail() 中继到邮件服务器

转载 作者:可可西里 更新时间:2023-11-01 01:05:12 25 4
gpt4 key购买 nike

我注意到其他一些帖子与我的问题类似,但发现它们并不特定于我的情况,或者我只是不太了解事情。

我的情况:我正在尝试使用 PHP mail() 函数从 LAMP 服务器发送邮件。我想将邮件中继到另一个专用邮件服务器。

问题:我似乎无法发送邮件...有时。有时它似乎能够向域外的帐户发送邮件,但无法向域/网络内的帐户发送任何邮件。我看到日志经常提示它无法向域 Controller 进行身份验证...但它不应该为此担心吗?

我想我感到困惑的部分是 PHP mail() 函数是否会自动向服务器创建 SMTP 消息?或者我是否必须设置 php.ini 设置以查看本地主机,然后配置 sendmail/postfix 以将消息发送到邮件服务器。另外,如果我只指定 LAMP 服务器尝试连接邮件服务器,为什么还要费心向域 Controller 进行身份验证?

希望有人能帮我解决这个问题。困扰我好久了,一直没找到解决办法。谢谢,

最佳答案

does the PHP mail() function automatically create an SMTP message to the server? Or do I have to set the php.ini settings to look at the localhost and then configure sendmail/postfix to send the message to the mail server

PHP 的 mail() 函数本身并不能做那么多事情。在 linux 上,它通常会使用 php.ini 中定义的设置连接到 sendmail 或类似的本地实例。从示例 php.ini 中查看此部分:

[mail function]
; For Win32 only.
; SMTP = localhost
; smtp_port = 25

; For Win32 only.
;sendmail_from = me@example.com

; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
sendmail_path = /usr/sbin/sendmail -t -i

对于 Windows,配置端口的 SMTP 服务器由 mail() 使用。对于 linux,使用定义的 sendmail 路径。

换句话说,Windows 上的 PHP mail() 函数连接到 SMTP 服务器,无论是本地的还是远程的。 Linux 上的 PHP mail() 不能做同样的事情。在 Linux 上,该功能将仅使用本地 sendmail 安装,您需要自行设置它以连接到 SMTP 服务器。这种配置的替代方法是使用 PHPMailer、Swiftmailer、Zend_Mail 或类似的工具,它们自己提供 SMTP 功能。


why would it bother to authenticate with the domain controller if I only specified that the LAMP server try to connect with the mail server?

我远不是这方面的专家,但据我所知,您需要在您的网络中成为经过身份验证的用户才能访问邮寄所需的外部资源。域 Controller 会授予这种权限。

关于PHP mail() 中继到邮件服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12678821/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com