8

我正在开发一个 php/c# 项目,该项目是一个带有 Web 界面的电子邮件服务器,用于管理电子邮件服务器应用程序。

该程序应该可以在 windows 和 linux 上运行,但我主要是在 windows 上进行开发。

我还没有在 Linux 中进行测试,但发现了一个可怕的问题。

从我在 Windows PHP 上搜索的内容中,您可以选择要使用的 SMTP 服务器,但在 Linux 上您似乎没有此选项,因此当 PHP 发送电子邮件时,它完全绕过了我的程序。

有没有办法让 PHP 使用您选择的 SMTP 服务器,我知道您可以使用 PEAR 覆盖 SMTP 设置,但我更希望标准的 PHP 邮件功能可以工作,以便 PHPBB 论坛等其他软件可以通过我的发送电子邮件SMTP 服务器而不是默认的 php 邮件。

这是可能的还是我使用梨的唯一选择?

4

2 回答 2

2

您的标准 php 邮件功能只会发送到 php.ini 中定义为 sendmail _path 的任何内容

这通常是sendmail -t -i

您需要配置 sendmail 以使用 smtp。

FWIW,大多数从 PHP 应用程序发送大量邮件的开发人员都对 mail() 嗤之以鼻,而是使用提供更好的可配置性/可靠性的许多邮件库(或服务)之一。

例如,您可以将 mail 函数通过管道传输到您自己的 PHP 脚本,并在该脚本中使用您想要的任何库来发送邮件(从而保留跨应用程序使用 mail() 函数)。

于 2012-08-13T22:02:30.157 回答
1

mail()在非 Windows 系统上,该函数无法使用 SMTP 服务器。

请参阅有关php.ini设置smtp的文档。

phpmailer已成为广泛使用的用于发送电子邮件的 PHP 库。它支持各种选项,包括 SMTP 和各种身份验证类型以及 SSL/TLS。如果您需要使用 SMTP 发送消息,我建议您使用它(或类似的东西参见Zend_Mail )。

因此,您将无法使用邮件功能,但您唯一的选择不是 Pear。

于 2012-08-13T22:11:27.427 回答