Я использую эту библиотеку https://github.com/secit-pl/imap-bundle с Symfony 4 для получения электронных писем с сервера, и я следовал инструкциям, которые они поместили внизу страницы. Я пытаюсь использовать Gmail в качестве примера. Но я получаю это сообщение об ошибке
Исключение было сгенерировано во время рендеринга шаблона («Служба» secit.imap »не найдена: даже если он существует в контейнере приложения, контейнер внутри« App \ Controller \ IndexController »является меньшим локатором службы, который знает только о «doctrine», «form.factory», «http_kernel», «parameter_bag», «request_stack», «router», «security.authorization_checker», «security.csrf.token_manager», «security.token_storage», «serializer», «session» и «twig» services. Если вам не нужна дополнительная лень, попробуйте вместо этого использовать внедрение зависимостей. В противном случае вам необходимо объявить его с помощью «IndexController :: getSubscribeedServices ()». ").
код, который я использую для подключения:
imap.yaml
imap:
connections:
example_connection:
mailbox: "{localhost:993/imap/ssl/novalidate-cert}INBOX"
username: "email@example.com"
password: "password"
another_connection:
mailbox: "{localhost:143}INBOX"
username: "username"
password: "password"
attachments_dir: "%kernel.root_dir%/../var/imap/attachments"
server_encoding: "UTF-8"
Контроллер
namespace App\Controller;
use SecIT\ImapBundle\Service\Imap;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
class IndexController extends AbstractController
{
public function indexAction(Imap $imap)
{
$exampleConnection = $imap->get('example_connection');
$anotherConnection = $imap->get('another_connection');
}
и тестирование следующим образом
$exampleConnection = $imap->get('example_connection');
$isConnectable = $this->get('secit.imap')->
testConnection('example_connection');
var_dump($isConnectable);
Но, видимо, не находит службу "secit.imap"