PHP中是否有SMTP邮件传输库

PHP中是否有SMTP邮件传输库,php,smtp,Php,Smtp,我想写一个电子邮件传输服务,需要用MTU替换sendmail/postfix 我不想看到如何传递到传输SMTP服务器(比如SMTP端口上的后缀列表)。我也不需要服务器的接收部分,反弹等将转到不同的现有后缀 所有这些都是纯PHP的。SMTP是一个非常简单的协议,但这需要访问MX DNS记录和其他许多需要注意的细节 为什么我需要这个?因为大多数共享互联网提供商每天发送500封电子邮件的限制都很低。如果你想设置流量最低的电子邮件列表,那几乎什么都不是 编辑:请注意:代码需要连接到收件人SMTP服务器,

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

我不想看到如何传递到传输SMTP服务器(比如SMTP端口上的后缀列表)。我也不需要服务器的接收部分,反弹等将转到不同的现有后缀

所有这些都是纯PHP的。SMTP是一个非常简单的协议,但这需要访问MX DNS记录和其他许多需要注意的细节

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

编辑:请注意:代码需要连接到收件人SMTP服务器,并使用经过调整的标题集(删除密件抄送列表,添加路径路由)传递邮件。如果您看到的SMTP类少于5000行,或者需要您配置SMTP主机IP和端口,则这不是我要查找的内容


它需要像PHP库一样完成sendmail所做的所有工作。

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

尝试Zend Framework组件Zend\u Mail(您可以独立于整个框架使用该组件).

我们使用PHP发送SMTP电子邮件

我们使用PHP发送SMTP电子邮件

我使用类

编辑

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

为什么要重新发明轮子?在服务器上设置postfix实例,该实例仅侦听来自web服务器的连接。。。让MTA做它最擅长的事情。将php中的消息传递给真正的邮件服务器,然后继续

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

最后,从php脚本直接发送MX是一个坏主意,因为如果你发送给我,我永远不会得到它。我和许多其他网站使用“greylisting”来减少垃圾邮件,垃圾邮件会以450个临时错误拒绝所有初始请求。Real MTA将重试,但除非您实现延迟队列并重试,否则您的邮件将永远无法通过。

我使用类

编辑

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

为什么要重新发明轮子?在服务器上设置postfix实例,该实例仅侦听来自web服务器的连接。。。让MTA做它最擅长的事情。将php中的消息传递给真正的邮件服务器,然后继续

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


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

是您唯一需要的库。

是您唯一需要的库。

这是我写的东西。它非常简单,我不知道它的性能如何,但我写它的目的是替换sendmail,这意味着它将接收一条消息,查找收件人域的所有MX记录,联系那些邮件服务器,并为相应的收件人发送一条消息。那时候对我来说已经足够好了


我已经很久没有使用它了,但我刚刚在Github上发布了它。

下面是我写的一些东西。它非常简单,我不知道它的性能如何,但我写它的目的是替换sendmail,这意味着它将接收一条消息,查找收件人域的所有MX记录,联系那些邮件服务器,并为相应的收件人发送一条消息。那时候对我来说已经足够好了

我已经很久没有用过它了,但我刚刚把它扔到Github上。

我用过它,它很酷。它是一个基于队列的邮件传输代理。它需要rabbitmq。 它还提供了多个worker,易于存储在数据库中。 它还提供了管理控制台。 值得检查一下

我用的很酷的。它是一个基于队列的邮件传输代理。它需要rabbitmq。 它还提供了多个worker,易于存储在数据库中。 它还提供了管理控制台。
值得检查

这不是MTU实现。它会将电子邮件发送到SMTP服务器,但不会发送到收件人SMTP服务器。这不是MTU实现。它会将电子邮件发送到SMTP服务器,但不会发送到收件人SMTP服务器。不,只有SMTP客户端,但没有SMTP邮件传输代理。不,只有SMTP客户端,但没有SMTP邮件传输代理。不,也只有SMTP客户端,但没有SMTP邮件传输代理延迟队列当然在功能列表中。在我读你的答案之前,它只是为了可靠性和性能(多个MX查找)。原因的答案是,许多人只有一个php帐户,或者他们不能像我一样安装postfix(或者因为便宜的VPS占用大量内存而不想要它)——顺便说一句,你不能将postfix安装为非根用户。这封unix电子邮件太糟糕了。每天在一个好的网站上发送500封电子邮件,这对邮件列表来说是一个很好的选择。我问他为什么不想增加限制,但他不想。嗯,你仍然可以使用Pear的Net_SMTP建立连接,可能还可以使用Pear模块来查找MX记录。然后,如果您收到4xx错误,您可以检查发送尝试的返回代码并自行缓存邮件。否,也可以只是SMTP客户端