Laravel Imap connect() 慢 |重用?

Laravel Imap connect() slow | reuse?

我正在使用 laravel-imap 连接到我的电子邮件服务器并获取所有邮箱和消息。

我注意到 connect() 方法很慢,需要 4-5 秒。:

$start = microtime(true);

$oClient = new Client([
    'host'          => env('MAIL_HOST_IN'),
    'port'          => env('MAIL_PORT_IN'),
    'encryption'    => env('MAIL_ENCRYPTION_IN'),
    'validate_cert' => true,
    'username'      => env('MAIL_USERNAME'),
    'password'      => env('MAIL_PASSWORD'),
    'protocol'      => 'imap'
]);

// Connect to the IMAP Server
$oClient->connect(); 

\Log::info('Connect: ' . strval(microtime(true) - $start));

就是这样,没有额外的代码。我还使用 getFolders() 并循环遍历它们以获取消息。 我count/get看不到消息,操作比较多,但是都很快。

我问这个,因为如果我通过网站登录我的邮箱,性能会好很多 1-2 秒。操作是一样的,我得到邮箱和看不见的消息。 那么为什么通过脚本很慢?

万一就是这样而我无法改变它,有什么可能的解决方案?我现在唯一的想法是在多个函数中重用连接,所以至少我只连接一次。

感谢@大家发表评论。

我现在可以确认 code/package 没有问题。

似乎是我本地机器上的某些东西导致连接时间变慢。 我不知道到底是什么,可能是防火墙坏了。

我将代码上传到我的服务器。性能好多了,马上就连上了。