Вам все прекрасно рассказали в предыдущем трэде.
Если не понятно - постараюсь подытожить.
Инжектить в контроллер сервис mailer не нужно, т.к. контроллер в симфони реализует ContainerAwareInterface, и доступ к сервису можно получить с помощью метода get().
Если же ваш контроллер по каким-либо причинам не наследуется от стандартного контроллера симфони - вы должны реализовать ContainerAwareInterface.
Если же вы наследуете стандартный контроллер симфони, и делаете свой контроллер сервисом вы должны заинжектить контейнер при помощи сеттера.
Пример конфигурации:
my.controller.service:
class: MyCompany\MyBundle\Controller\MyController
calls:
- [setContainer, ["@service_container"]]