Использование PHP-IMAP для получения электронной почты с хоста в Symfony 4 и Sonata-admin - PullRequest
0 голосов
/ 04 ноября 2018

Я использую эту библиотеку 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"

...