2012-03-18 2 views
0

PlayFramework가 어떻게 확장 가능한지 알고 싶습니다.Playframework extension/overriding points

Mailer 구성 요소를 무시하는 경우가 있습니다. "dev"모드에서 응용 프로그램을 테스트하기 위해 재정의하거나 사용 된 구성 요소 구현이 사용 된 메일인지 확인하는 것이 흥미로운 경우가 있습니다 (메일이 기능적으로 "실제"사용자에게 전송 된 경우에도). 메일을 보낼 전용 플랫폼 (무료 또는 요금)으로 메일을 "전달"하는 데 사용할 수도 있습니다 (웹 호스팅에서 제한된 메일 보내기 기능을 제공하는 경우 ...).

갔지 메일러 구성 요소를 무시할 수있는 방법을 볼 수 있으면 알려 주시기 바랍니다 (playframework 핵심 소스 코드를 해킹하지 않고 있지만, 모듈 또는 플러그인을 추가하여)을 Mail 구성 요소가있다 루이

답변

2

안부, 을 플러그인이 아닌 라이브러리의 클래스입니다. 유스 케이스를 수행하기 위해해야 ​​할 일은 자신 만의 클래스를 만들거나 play.libs.Mail 클래스를 확장하는 것입니다. 메일 메시지를 보낼 때는 선적 된 Play 클래스가 아닌 자신의 클래스를 사용하십시오.

현재 위치 클래스 볼 수 있습니다 - https://github.com/playframework/play/blob/master/framework/src/play/libs/Mail.java

+0

귀하의 솔루션을 이해하지만 문제는 내가 구현 한 호출로 Mail 클래스에 대한 모든 호출을 변경해야한다는 것입니다 ... – loicg

+0

은 이미 구현 한 코어 호출 또는 코어 모듈입니까? – Codemwnci

+0

내 메일러 구성 요소를 사용하는 많은 모듈 (내 앱뿐만 아니라)이 있다는 것을 의미합니다. 목표는 메일러 구현을 모듈 및 응용 프로그램에 영향을 미치지 않고 구성별로 대체하는 것입니다. 내 말을 들었 니? – loicg

0

개발 플레이는 모의 우편물을 (당신이 당신의 application.conf에서 설정)이있다. 모의 메일러는 셸, Eclipse 콘솔 등의 메일 내용을 인쇄합니다.

생산을위한 가장 쉬운 방법은 SSMTP 또는 Nullmailer와 같은 것을 사용하도록 호스트를 설정하는 것입니다. 예를 들어 Gmail 계정을 사용할 수 있습니다 저렴한 설정을 원하면 이메일을 보내려면 Google의 SMTP 서버를 사용하십시오. SSMTP/Nullmailer를 사용할 때 좋은 점은 Play가 메일 구성을 전혀 모르고 있으며 코드를 변경하지 않고도 언제든지 원하는대로 변경할 수 있다는 것입니다.

+0

제안이 내 필요를 충당 할 수 있습니다. 조사해보고 괜찮은지 알려 드리겠습니다. 감사. – loicg