一种更灵活的 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 对带有附件的电子邮件进行排队以进行发送的最佳方式