2016-12-12 7 views
0

클라우드 호스트를 사용하는 경우 공유 호스트에서 Monolog에서 보낸 예외 전자 메일을받지 못합니다. Host는 Azure Ubuntu 16 VM입니다. sendmail이 VM에 설치되고 테스트 전자 메일이 수신됩니다. VM의 parameters.yml에 공유 호스트와 동일한 mailer_... 매개 변수가 포함되어 있습니다.모토 로그 전자 메일을받지 못했습니다 : 디버그 방법

CRITICAL: Uncaught PHP Exception Exception 예외가 강제 될 때 prod 로그에 전자 메일과 관련된 항목이 없습니다. 사용자 정의 예외 페이지가 오류에 표시됩니다.

config_prod.yml은 다음과 같습니다

monolog: 
    handlers: 
     mail: 
      type:   fingers_crossed 
      action_level: critical 
      handler:  deduplicated 
     deduplicated: 
      type: deduplication 
      handler: swift 
     swift: 
      type:  swift_mailer 
      from_email: '[email protected]' 
      to_email: %mailer_user% 
      subject: 'An Error Occurred!' 
      level:  debug 
      formatter: monolog.formatter.html 
      content_type: text/html 

편집 : 나는 중요 할 수 있습니다 자극 로그 항목을 얻을 이메일을 생성하는 FOSUserBundle 암호 재설정 메커니즘을 사용.

CRITICAL : catch되지 않은 PHP 예외 Swift_TransportException : mailer_...에 대한 parameters.yml에 사용자 이름 & 암호 리셋 공정 수율이있는 경우 " 에 실패 ... 사용자 이름으로 SMTP 서버에

인증 메시지 "530 5.7.0으로, 코드"530 "을

예상 응답 코드 250 만 가지고 : mailer...에 대한 항목 오류가 없습니다먼저 STARTTLS 명령을 실행해야합니다.

아직 TLS의 sendmail 구성에 대한 언급이 없거나 인증이 필요합니다. 내가 그랬다면 필요 없다고 말합니다.

+0

예를 들어. dev에 직접 이메일을 보낼 수 있지만 prod (스풀에서 메일을 보내려면 일부 cron이 필요함)에 스풀링 할 수 있습니까? – LBA

+0

@LBA 공유 환경이나 클라우드 환경에서는 (app_dev.php에서) dev 환경을 사용할 수 없습니다. 전자 메일은 내 개발 시스템에서 prod & dev에 모두 전송되지만 Windows에서는 계산에 포함되지 않습니다. – geoB

+0

@LBA 클라우드 환경에서 dev 환경을 사용하더라도 dev 로그에는 유용한 정보가 없습니다. 또한 dev 환경에서 암호를 재설정하려고 할 때 prod 로그와 동일한 로그 항목이 표시됩니다. – geoB

답변

1

내가 생각할 수있는 가장 좋은 점은 센드 메일 자체만으로는 불충분하거나 그걸 사용하는 능력이 훨씬 부족하다는 것입니다. 그래서 postfix를 맨 위에 설치하고 postfix에 아무 구성도 추가하지 않고 재부팅 한 다음 예외 전자 메일을 보냅니다. (받은 이메일은 스팸 메일이 아님을 '배웠다').