PHP mail()错误:隐藏尝试的电子邮件但仍显示错误

时间:2010-07-12 18:24:42

标签: php email

我正在处理一个'忘记密码'表单,目前我正在本地工作,所以邮件功能不起作用,但错误出现如下:

Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in ...  on line 508
Error Sending Email - mail@email.com, Password Reset,
You have requested your password to be reset. To login, use the username and password below:

Username: admin
Password: azurapura
... 

显然,如果邮件功能不起作用,我不希望有人看到邮件/密码,除非是通过他们的邮件。有没有办法禁用该部分错误显示或有没有办法自定义此功能的错误?

我看到a post to create error handlers但是,这似乎只适用于错误类型(警告......)

2 个答案:

答案 0 :(得分:1)

只需在mail前加上电子邮件标记(不能在此输入一个!)。这样PHP可以解决错误。更多信息:http://php.net/manual/en/language.operators.errorcontrol.php

答案 1 :(得分:0)

确实建议你在生产机器上关闭display_errors。

mail返回一个布尔值,告诉消息是否被接受传递。用它来检测错误。