当前位置: 首页 > 面试题库 >

为什么不应该使用PHP的mail()函数?

白翰海
2023-03-14
问题内容

使用PHP发送电子邮件时,普遍的看法是不要使用PHP的内置mail()功能,而应使用库。

我想知道的是在mail()库或扩展中使用的实际原因和缺陷。例如,通常指定的标头不包含在标准mail()调用中。


问题答案:

报价:

PHP mail()功能的缺点

在某些情况下,mail()尽管通过WB发送而没有任何错误消息,但是通过PHP发送的邮件没有收到收件人。下面列出了该问题的最常见原因。

  • 邮件标题或内容的格式错误(例如Windows / Unix之间的换行符不同)
  • 您的服务器上未安装或配置sendmail(php.ini)
  • recipeint的邮件提供程序不允许PHP发送邮件mail();常见垃圾邮件防护

标头或内容格式的错误可能导致将邮件视为垃圾邮件。在最佳情况下,此类邮件将被转移到收件人收件箱的垃圾邮件文件夹中或发送回发件人。在最坏的情况下,此类邮件将被删除而不会进行任何评论。如果未安装或未配置sendmail,则根本无法发送任何邮件。

免费邮件提供商(例如GMX)通常会拒绝通过PHP函数发送的邮件mail()。通常,此类邮件会在没有收件人任何信息的情况下被删除。



 类似资料:
  • 问题内容: 为什么不应该使用函数的技术原因是什么?(例如,或)? 为什么我要使用其他东西,即使它们在我的网站上工作? 如果它们在我的网站上不起作用,为什么我会收到类似的错误 警告:mysql_connect():没有那个文件或目录 问题答案: MySQL 扩展: 未在积极开发中 被正式弃用的PHP 5.5(发布2013年6月)。 自 PHP 7.0起 已完全删除 (2015 年 12 月发布) 这

  • 问题内容: 想要改善这篇文章吗? 提供此问题的详细答案,包括引文和为什么答案正确的解释。答案不够详细的答案可能会被编辑或删除。 为什么不应该使用功能的技术原因是什么?(例如,或)? 即使我的网站上可以工作,我为什么还要使用其他东西? 如果它们在我的网站上不起作用,为什么会出现类似 警告:mysql_connect():没有这样的文件或目录 问题答案: MySQL扩展: 没有积极发展 被 正式 弃用

  • 问题内容: 触发服务器调用以获取componentWillMount生命周期方法中的数据是一种不好的做法? 以及为什么最好使用componentDidMount。 问题答案: 更新: componentWillMount将很快被弃用。 引用@Dan Abramov 在 React的未来版本中,我们期望componentWillMount 在某些情况下 会触发多次 ,因此您应该对网络请求使用comp

  • 问题内容: 我一直在寻找为什么不应该在类的构造函数中调用线程的start方法的理由。考虑以下代码: ImportantData是一些通用的东西(可能很重要),而MyOperationThread是知道如何处理SomeClass实例的线程的子类。 脚节点: 我完全理解为什么这是不安全的。如果MyOperationThread在以下语句完成(并且数据已初始化)之前尝试访问SomeClass.data,

  • 为什幺应该使用流 在node中,I/O都是异步的,所以在和硬盘以及网络的交互过程中会涉及到传递回调函数的过程。你之前可能会写出这样的代码: var http = require('http'); var fs = require('fs'); var server = http.createServer(function (req, res) { fs.readFile(__dirname

  • 我想知道为什么我们不应该重写非虚拟函数?