Postfix Php Mail()VS Postfix SMTP

前端之家收集整理的这篇文章主要介绍了Postfix Php Mail()VS Postfix SMTP前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
大多数CMS(例如Joomla)默认带有PHP mail(),如果需要,可以选择将其更改为SMTP.我将在Debian 7上的相同VPS中设置网络服务器和邮件服务器(Postfix).我想要了解的是:

>交货信誉:使用PHP mail()vs SMTP会对交付率产生任何影响吗?根据我的理解,Postfix在发送电子邮件时与互联网上的其他服务器进行通信时会使用SMTP协议,因此可以安全地假设电子邮件是通过PHP邮件发送到postfix或者从localhost发送的. ?这两种方法中的任何一种都会以任何方式影响电子邮件声誉吗?
>性能负载:发送电子邮件时,PHP邮件和SMTP之间是否存在性能差异?比方说,如果我发送10,000个电子邮件,哪种方法需要最多的资源(或时间)?我的假设是,两者都可以花费一些时间,例如:PHP邮件用于编译带有标题的电子邮件等等.和SMTP用于每次建立连接.哪一个消耗最多的服务器资源?
>安全问题:当我搜索两者之间的差异时,许多网站都说有关于PHP邮件的安全问题,因为黑客可以上传PHP脚本来发送垃圾邮件.但我也可以看到SMTP的另一个安全问题,因为SMTP用户名和密码都存储在配置文件中的文本中,这也不安全.既然这两种方法都存在安全问题,那么在任何方面都会比其他方法更好吗?
>偏好:如果我能够在我的服务器上设置PHPmail和SMTP,我是否应该优先使用一个而不是出于任何原因?我的意思是,如果我可以在我的服务器中使用SMTP,那么我是否应该尝试使用SMTP而不是PHPmail,原因有以上几点所涵盖的各种原因?

背景:我的机器将是一个简单的Web服务器,它使用postfix仅用于发送来自Joomla的电子邮件,新闻简报和各种服务的根电子邮件.

Delivery Reputation: Would using PHP mail() vs SMTP make any difference with the delivery rate? From what I understand,Postfix is going to be using SMTP protocol when communicating with other servers on the internet when delivering emails,so therefore is it safe to assume that it doesnt matter if the email was sent to postfix via PHP mail or smpt from localhost? Does any of these 2 methods affect the email reputation is any ways even in a small way?

没有关系. Postfix可以通过mail()和SMTP接收电子邮件.处理后,postfix将通过SMTP发送.

Performance Load: Is there any performance difference between PHP mail and SMTP when sending emails? Say,if I am sending like 10,000 emails,which method would take the most resources (or time)? My assumption is that both can take a bit of time like: PHP mail for compiling the emails with headers,etc.. and SMTP for making connections each time. Which one consumes the most server resources?

基准吧!我没有这方面的任何数据.

这里涉及mail()和SMTP的过程是什么?

在mail()命令中,PHP调用sendmail命令,程序将您的电子邮件放在maildrop队列目录中的文件中. Pickup守护程序扫描该目录,并将电子邮件移动到清理守护程序.

在SMTP中,PHP通过SMTPd创建与后缀服务器的连接.完成SMTP仪式后,SMTPd将检查电子邮件是否允许.如果允许电子邮件,它会将其传递给清理守护程序.

资料来源:official documentation of postfix

Security Issue: When I searched for the difference between the two,many sites says about the security issue with PHP mail since a hacker can upload PHP script to send out spams. But I can also see another security issue with SMTP as well since the SMTP username and passwords are stored in configuration file in text which is not secure neither. Since there are security issues for both methods,does one weigh better than the other in any aspects?

正如@Tutul在另一个回答中所说,你可能希望一些垃圾邮件脚本使用mail()发送垃圾邮件.是的,这是在PHP中阻止邮件命令的考虑因素之一.

但是,有一个原则是:一旦某人成功将脚本放入您的Web和邮件服务器,他就可以发送PHP的使用能力,通过mail()和SMTP发送电子邮件.

PHP本身,没有保护限制垃圾邮件发送者可以调用多少SMTP连接或mail().放置防线的一个地方是MTA(后缀).不幸的是,您无法限制从mail()命令调用的传入邮件.但是,您可以限制从SMTP连接发出的发送请求数. Policydpostfwd可以帮助postfix节流它.

注意:以上说明是关于接收电子邮件时的限制流程.当然,你可以在发送电子邮件时加油.例如,您每分钟限制20封电子邮件到@ gmail.com以避免GMAIL黑名单守护程序阻止您.请参阅有关Postfix Performance Tuning的文档

最后的说明

恕我直言,我更喜欢通过SMTP发送电子邮件.您可以使用MTA作为防止垃圾邮件爆发的额外保护.您可能必须在PHP中处理另一个邮件队列,因为@Sanmain在另一个答案中说:)

原文链接:https://www.f2er.com/php/138908.html

猜你在找的PHP相关文章