2

我正在尝试使用建立连接,imap_open并且正在尝试将错误消息返回给最终用户。但是,每次遇到错误时执行都会停止。

try {
    $mbox=imap_open( "{" . $data['imap_host'] . ":" . $data['imap_port'] . "/novalidate-cert}INBOX", $data['email'], $data['imap_password'] );
    imap_close($mbox);
    return [
        'success' => true
    ];

}catch (Exception $e) {
    return [
        'success' => false,
        'message' => $e->getMessage() //imap_last_error()
    ];
}

使用上面的代码,它会因错误而停止

"message": "imap_open(): Couldn't open stream {mail.example.com:143/novalidate-cert}INBOX",
    "exception": "ErrorException",

我尝试通过添加@imap_open,这抑制了错误,这就是它没有返回任何错误消息的原因$e->getMessage()。我尝试替换$e->getMessage()为,imap_last_error()但没有任何反应。

我错过了什么?如果在此过程中遇到任何错误,我怎么能捕捉到错误?

4

0 回答 0