如何在php中检查imap_open()是否连接?

时间:2016-08-21 13:11:58

标签: php imap-open

我正在尝试从特定的电子邮件帐户中提取电子邮件。当我在imap_open();函数中传递正确的详细信息时,代码工作正常。但我想添加验证,当有人传递错误的电子邮件地址或密码时,它应该返回错误。我按照这个上升的answer的指示,但它不起作用。

$mbox = imap_open("{mail.example.com.com:143/novalidate-cert}", "dev@example.com", "wrongPassWord");
// Check if imap connect or not
if($mbox){
    echo 'connect';
}else{
    echo 'Not connect';
}
imap_close($mbox);

此外,当我添加错误的细节时,它会返回警告错误。

enter image description here

任何人都可以指导我这方面如何检查imap_open()是否连接并防止警告错误,我可以解决这个问题。如果有人指导我,我很感激。谢谢。

1 个答案:

答案 0 :(得分:0)

imap_open在出错时生成E_WARNING。您可以使用error_reporting()或在imap_open()调用之前添加@来为整个应用程序抑制它。那么你的例子就可以了。

$resource = @imap_open(...);

此外,使用更高级别的库然后使用低级函数要好得多。我喜欢这个:https://github.com/ddeboer/imap