php - 在 Linux 上使用带有 SMTP 服务器的默认 PHP 邮件功能

标签 php email smtp sendmail

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

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

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

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

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

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

最佳答案

你的标准 php 邮件函数将只发送到 php.ini 中定义为 sendmail _path 的任何地方

这通常是 sendmail -t -i

您需要将 sendmail 配置为使用 smtp。

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

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

关于php - 在 Linux 上使用带有 SMTP 服务器的默认 PHP 邮件功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11942896/

相关文章:

php - PHP 一次可以发送多少封邮件?

php - 获取用户条目的位置

php - Symfony 中的 Postgres 部分唯一索引

php - 尝试散列密码时将空值输入到数据库中

java - 电子邮件客户端如何处理来自 POP 服务器的邮件?

email - ASP.NET SQLMembershipProvider - 电子邮件作为用户名

Javascript IMAP 和 SMTP 客户端?

java - 使用java从PC发送短信到手机

java - 我的 SMTP 发件人抛出错误 421

php - 如何阻止来自中国对我的应用程序的请求?