禁用PHP邮件功能的警告

时间:2012-02-04 07:41:23

标签: php sendmail

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

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

3 个答案:

答案 0 :(得分:3)

为什么不跳过测试服务器上的邮件功能,而不是试图压制有效警告?

执行类似

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

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

您可以使用@来禁止显示警告消息,但是当您将代码部署到生产服务器时,您可能会留下可能会阻止警告的代码。

答案 1 :(得分:2)

 use @mail(parameters...)

@supresses报告输出邮件可能产生的任何错误

你也可以一起抑制警告

 error_reporting(E_ALL ^E_WARNING) to supress warnings all together

答案 2 :(得分:0)

@ /

有什么问题
@mail(// should suppress errors);