禁用PHP邮件功能的警告


Disable warning of PHP mail function

当我在测试服务器上调用PHP邮件函数时,我收到一个警告。这是正确的,因为当商城出现故障时,我没有启用邮件服务器来测试系统。我希望这个函数不要抛出警告。我将如何实现这一点?

不过,函数本身应该仍然会失败(即返回false)。

与其试图抑制有效的警告,为什么不跳过测试服务器上的邮件功能呢?

做一些类似的事情

if( $_SERVER[ 'SERVER_NAME' ] != 'my.testing.server' ){
    mail(...);
}

或者,更好的是,设置一个全局变量,您可以对其进行测试,以确定您的服务器是否处于开发/测试/生产模式。然后,如果邮件方法不在生产模式中,您可以简单地跳过它。

您可以使用@来抑制警告消息,但如果将代码保留在适当位置,则可能会在将代码部署到生产服务器时抑制警告。

 use @mail(parameters...)

@抑制任何错误报告输出邮件可能产生

您还可以将所有警告一起提供

 error_reporting(E_ALL ^E_WARNING) to supress warnings all together

@怎么了?

@mail(// should suppress errors);