PHP中是否有SMTP邮件传输库

时间:2009-08-20 14:12:44

标签: php smtp

我想写一个电子邮件传输服务,需要MTU替换sendmail / postfix。

我不知道如何传送到传输SMTP服务器(如SMTP端口上的后缀列表)。我也不需要服务器的接收部分,弹跳等将转到不同的现有postfix。

纯PHP中的所有内容。 SMTP是一个非常简单的协议,但这需要访问MX DNS记录和其他需要处理的细节。

为什么我需要这个?因为大多数共享互联网提供商都有疯狂的低限制,每天发送500封电子邮件。如果你想设置最低流量的电子邮件列表,那几乎没有。

编辑:请注意:代码需要连接到接收方SMTP服务器并传送带有适配标头集的消息(删除BCC列表,添加路径路径)。如果看到SMTP类少于5000行或要求您配置SMTP hostip和端口然后这不是我正在寻找的东西。

它需要完成sendmail所做的所有事情,就像PHP库一样。

6 个答案:

答案 0 :(得分:1)

我们使用http://sourceforge.net/projects/phpmailer/从PHP发送SMTP电子邮件

答案 1 :(得分:1)

我使用Pear's Mail类。

修改

重新阅读之后,我发现它不仅仅是一个图书馆。您要求直接发送到远程MX。

为什么重新发明轮子?在服务器上设置postfix实例,该实例仅侦听来自Web服务器的连接...并让MTA执行它最擅长的操作。将消息从php传递到真实的邮件服务器并继续。

如果ISP阻止出站端口25并强制使用智能主机,这也允许您限制发送到智能主机的消息的速率。

最后,从你的PHP脚本直接发送到最终MX是一个坏主意,因为如果你发送给我,我永远不会得到它。我和许多其他网站使用“灰名单”来减少垃圾邮件,这会拒绝所有初始请求,并发出450临时错误。真正的MTA将再次尝试,但除非您实施延迟队列并再试一次,否则您的消息将永远无法通过。

答案 2 :(得分:1)

SwiftMailer是您唯一需要的库。

答案 3 :(得分:0)

尝试使用Zend Framework组件Zend_Mail(您可以独立于整个框架使用该组件)。

答案 4 :(得分:0)

这是我写的东西。这是非常小的,我不知道它的表现如何,但我写的目的是替换sendmail,这意味着它会收到一条消息,查找收件人域的所有MX记录,联系那些邮件服务器并提供一个相应收件人的邮件。当时它对我来说运作得很好。

https://github.com/denvertimothy/ThriveSMTP

自从我使用它已经有很长一段时间了,但我刚才把它扔到了Github上。

答案 5 :(得分:0)

我使用http://www.mailerq.com/很酷。它是一个基于队列的邮件传输代理。它需要rabbitmq。 它还提供多个工作人员,易于存储在数据库中。 它还提供了管理控制台。 值得检查