2014-09-02 3 views
0

내 서비스를 사용하여 Swiftmailer의 기본 전송을 무시하려고합니다.Symfony2 Swiftmailer 서비스 정의가 존재하지 않습니다.

The service definition "swiftmailer.mailer.transport.test.mailer" does not exist. 

나는 현재 Swiftmailer와 심포니 2.5을 사용하고이 날 당신이 등 setTo, setSubject, 부착 등 Swiftmailer으로 그러나, 나는 다음과 같은 오류 메시지가 무엇입니까 것과 같은 방법 호출을 사용할 수 있도록 할 번들 ~ 2.3. 이 문제와 관련된 내 SRC/번들/ApplicationBundle/자원/설정/services.xml의 파일 및 내 응용 프로그램/설정/config.yml 파일 부품 참조하십시오

services.xml 파일을

<parameters> 
    <parameter key="test.mailer.class">TEST\Bundle\TestBundle\Mail\MailQueueTransport</parameter> 
</parameters> 

<services> 
    <service id="test.mailer" class="%test.mailer.class%"> 
     <argument type="service" id="service_container"/> 
    </service> 
</services> 

config.yml

imports: 
    - { resource: "@TESTTestBundle/Resources/config/services.xml"} 

swiftmailer: 
    transport: "test.mailer" 

다른 모든 서비스는 잘 작동이 방법은 Swiftmailer 번들 2.1.0와 심포니 2.1.3에서 일했다. 목표는 내장 된 Swiftmailer 기능을 사용하는 것입니다. 직접 전자 메일 (높은 전자 메일 볼륨에 대한 일괄 처리)을 보내는 대신 처리를 위해 전자 메일을 데이터베이스 큐에 배치하는 것입니다.

도움을 주시면 감사하겠습니다.

답변

0

시도 서비스를받을처럼 :

$this->container->get('test.mailer'); 
0

내가 실제로 swiftmailer의 설정 아래 config.yml를 업데이트하고 추가했다 :

swiftmailer: 
    default_mailer: test.mailer 

이 나를 그냥 사용할 수 내 서비스를 기본 우편물로 사용하여 다음 번호로 전화 할 수 있습니다.

$this->container->get('mailer')->send($message);