function(ContainerInterface $container) { $emails = $container->get('email'); if (isset($emails->port)) { return new \Ddeboer\Imap\Server($emails->host, $emails->port); } return new \Ddeboer\Imap\Server($emails->host); }, \Ddeboer\Imap\ConnectionInterface::class => function(ContainerInterface $container) { $emails = $container->get('email'); $server = $container->get(\Ddeboer\Imap\ServerInterface::class); return $server->authenticate($emails->username, $emails->password); }, \ProVM\Common\Service\Emails::class => function(ContainerInterface $container) { return new \ProVM\Common\Service\Emails( $container->get(\Ddeboer\Imap\ConnectionInterface::class), $container->get(\Psr\Log\LoggerInterface::class), $container->get('email')->folder, $container->get('email')->attachments ); } ];