一种更灵活的 PHP 发送电子邮件方式

Posted

技术标签:

【中文标题】一种更灵活的 PHP 发送电子邮件方式【英文标题】:A more flexible way of sending emails in PHP 【发布时间】:2010-11-27 15:34:50 【问题描述】:

我希望将一些电子邮件功能集成到我的系统中,我对使用mail() 发送邮件并没有太大印象,因为该功能的功能非常有限。

理想情况下,我想要一个框架或可以集成到我的系统中的东西,这将允许我以自己的方式生成消息,然后将它们发送出去。

其他一些非常棒的功能:

队列系统,因此可以轻松简单地限制电子邮件。 重量轻,依赖最少 支持普通和 html 电子邮件,以及任意数量的附件。

【问题讨论】:

【参考方案1】:

与核心 php 功能中的大多数漏洞一样,一种选择是用 Zend Framework 类填充它。 Zend 框架允许您挑选和选择您使用的部分,因此依赖性将是最小的。 Zend_Mail 看起来它将处理您的纯文本/html/附件要求。

对于队列系统,这只是一种意见,但这并不是 PHP 真正的工作。如果您已经到了足以让您考虑限制电子邮件的程度,那么您将需要熟悉 sendmail、postfix 或您正在使用的任何邮件传输代理 (MTA)。几乎所有包装邮件功能的 PHP 类实际上只是将消息从 MTA 发送出去以进行处理。任何在 PHP 中实现节流的系统(很可能)只会节流将其从 MTA 发送出去,而 MTA 最终仍会成为故障点。

【讨论】:

【参考方案2】:

大多数框架都有自己的 Mail 对象,可用于创建消息。

我个人喜欢 Zend_Mail,因为它是 Zend 框架的一部分,它是松耦合的,所以它可以在框架内使用,也可以作为一个独立的。

您可以在此处阅读更多信息:http://framework.zend.com/manual/en/zend.mail.html

它绝对满足您的第二个和第三个要求。我认为任何东西都无法满足这三个要求,因为您的第一个要求是排队系统,需要与服务器紧密集成。

如果您正在寻找可以将消息排队的东西,您可能想要寻找一个新闻通讯系统,但我还没有找到一个好的开源 Php 系统。

【讨论】:

以上是关于一种更灵活的 PHP 发送电子邮件方式的主要内容,如果未能解决你的问题,请参考以下文章

C#.net 对带有附件的电子邮件进行排队以进行发送的最佳方式

使用 Python 发送 Outlook 电子邮件的方法的差异

如何让用户决定用PHP发送邮件的具体时间延迟?

Xamarin Essentials教程发送邮件Email

使用php发送电子邮件(phpmailer)

GraphQL:一种更高效强大和灵活的数据提供方式