2017-01-30 3 views
0

symfony를 사용하여 전자 메일을 보내고 싶지만 swiftmailer는 전자 메일을 보내지 않습니다. 나는 심지어 오류보고 또는 다른 것을 얻지 않는다. 는 config 그게swiftmailer가 전자 메일을 보내지 않습니다.

$mail = \Swift_Message::newInstance() 
       ->setSubject('Subject') 
       ->setTo('[email protected]') #this is replaced by real email of course 
       ->setFrom('[email protected]') 
       ->setBody('Testbody'); 

     $this->get('mailer')->send($mail); 

: 내 코드 그게 전부

swiftmailer: 
default_mailer: mailer 
mailers: 
    mailer: 
     transport: "%mailer_transport%" 
     host:  "%mailer_host%" 
     username: "%mailer_user%" 
     password: "%mailer_password%" 
     #spool:  { type: memory } 

는 심지어 존재하지 않는 주소로 호스트를 설정하려고하지만 swiftmailer 또는 심포니에서 어떤 오류가 발생니까.

나는 lib 디렉토리의 파일을 찾을려고했는데, 이상한 어디서나 심포니 파일에는 Swift_Message 또는 newInstance와,

+1

SM 구성에서 사용중인 매개 변수는 무엇입니까? 또한 실행중인 메일러 서버가 있습니까? – stevenll

+1

내 메일 서버 자격증 명을 갖고 싶습니까? :) 그것의 외부 메일 서버. 예를 들어 서버 호스트를 작동하지 않는 주소로 변경하면 외부 메일러가 정상적으로 작동하는 경우 swiftmailer – Asara

+0

에 의해 오류가 발생하지 않아도 여기에 표시되는 코드는 정상적으로 보입니다. 코드가 메시지를 보내지 못하게하는 다른 것이 없다고 확신합니까? – stevenll

답변

0

사용이 코드 응용 프로그램에서

$message = \Swift_Message::newInstance() 
      ->setSubject('Validation de votre commande') 
      ->setFrom('[email protected]') 
      ->setTo('[email protected]') 
      ->setBody('Testbody'); 
      ->setCharset('utf-8') 
      ->setContentType('text/html') 
      ->setBody('test'); 

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

/설정/parametres.yml 없다 : 응용 프로그램에서

mailer_transport: gmail 
mailer_host: smtp.gmail.com 
mailer_user: your mail 
mailer_password: your password mail 

/설정/config.yml :

# Swiftmailer Configuration 
swiftmailer: 
    transport: "%mailer_transport%" 
    host:  "%mailer_host%" 
    username: "%mailer_user%" 
    password: "%mailer_password%" 
    spool:  { type: memory } 
+0

왜 내가 Gmail 계정을 가지고 있다고 가정합니까? – Asara

+0

가장 좋은 해결책은 Gmail 계정 –

+0

을 사용하여 댓글이 마이너스 votet이어야한다는 것입니다. 그게 당신이 내 질문에 볼 수있는 것처럼 – Asara

0

같은 문제가있는 사람을 만났습니다. 그에게 문제는 스풀 대기열 때문이었습니다. 그것은 명시 적 중 하나를 해제 스풀에 의해 해결된다 :

spool: 
     enabled:false 

또는 코드에서 큐를 플러시 :

$this->get('mailer')->send($mail); 
$spool = $this->get('mailer')->getTransport()->getSpool(); 
$spool->flushQueue($this->get('mailer')->getTransport()); 

가 작동 희망!

+0

솔루션에서 아주 멀리, sppol 활성화되지 않은, 심지어 그것을 확인했지만 didnt 거기 메일을 찾을 수 – Asara