2017-12-22 45 views
0

prod에서 Symfony3의 명령으로 전자 메일을 보낼 수 없습니다.Symfony3 - 명령에서 전자 메일을 보내지 않았습니다.

내 코드 :

$message = \Swift_Message::newInstance() 
     ->setSubject('A subject') 
     ->setFrom('[email protected]') 
     ->setTo('[email protected]') 
     ->setBody('content', 'text/html'); 

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

Config.yml

# Swiftmailer Configuration 
swiftmailer: 
    transport: '%mailer_transport%' 
    host:  '%mailer_host%' 
    username: '%mailer_user%' 
    password: '%mailer_password%' 
    port:  '%mailer_port%' 
    encryption: '%mailer_encryption%' 
    spool: { type: memory } 

Parameters.yml

mailer_transport: smtp 
mailer_host: myhostfromovh 
mailer_encryption: null 
mailer_port: 587 
mailer_user: myuser 
mailer_password: mypassword 

나는 오류하지만 내 메일 박스에 수신 된 전자 메일 없음 없어. 또한 :(

, 내가 명령 줄에 쓰기 :

php app/console swiftmailer:email:send 

내가 가지고 :

[2017-12-22 13:31:12] app.ERROR: Exception occurred while flushing email queue: Connection could not be established with host myhostfromovh [Connection refused #111] 

나는 smtp.gmail.com 또는 ns0.ovh으로 내 사용자 정의 호스트 myhostfromovh 변경 .net (PORT 및 USER/PASSWORD), 아무것도하지 않으면 작동하지 않습니다. :-(

그러나 컨트롤러에서 동일한 코드를 실행해도 아무런 문제가 없습니다. 우편으로 보내주십시오. 그래서 나는 이해하지 못한다.

도와주세요! \ o/

+0

심포니 컨텍스트 외부에서 코드를 실행하고 있습니까? –

+0

var/logs/prod.log 및 var/logs/dev.log의 로그를 추가 할 수 있습니까? – albert

답변

0

swiftmail에서 이메일 대기열을 사용하도록 설정 했으므로 이메일이 대기열에 있음을 의미하고 이미 클라이언트에 응답을 보낸 후 커널 이벤트가 종료 될 때 전송합니다. 포트 :

당신은 당신의 호스트가 해당 호스트에 연결 할 수 없습니다 보인다 var에/로그/prod.log

에 컨트롤러의 오류를 가져야한다. 가능한 이유는 무엇입니까?

  • 당신의 IP가 금지 된
  • 잘못된 IP/포트 (구성)
  • 서비스 제공 업체/기업/대학 방화벽 블록이 나가는 SMTP (요즘 매우 일반적) 연결

이 mailcatcher 설치

  • https://mailcatcher.me/ 및 귀하의 로컬 smtp 서버로 이메일을 보내보십시오.

  • +0

    https://mailcatcher.me/를 사용했습니다. 그것은 PHP 애플 리케이션/콘솔 swiftmailer 작동합니다 : 전자 메일 : 보내기,하지만 내 명령을 실행하면 MailCatcher에서 이메일 ...하지만 컨트롤러 (동일한 코드)와 함께 작동 ... –

    +0

    실행 : PHP 빈/콘솔 swiftmailer : spool : send – albert

    +0

    환경 변수 및 환경 변수 모두에서 매개 변수/구성 파일을 변경 한 후 캐시를 삭제 했습니까? – albert