2010-11-23 4 views
2

처음부터 새로운 Rails 3 앱을 시작하려고합니다.Rails에서 커스텀 글로벌 이메일 기본값을 설정하는 "모범 사례"접근법은 무엇입니까?

그리고 기본 설정 (보석, 세션 설정 등)을 진행하면서 나는 잠시 나마 잔소리를하고있었습니다.

우리의 현재 시스템 (Ruby 스크립트 & Rails 2 app 혼합)은 다양한 이메일/팩스 알림을 클라이언트에 보냅니다. 사례의 80 %에서 공통적으로 발생하는 특정 사항이 있습니다. 예를 들어 우리의 최종 이메일 계정과 전자 메일 서명입니다. environment.rb에의

이전에 난 그냥 정의 GLOBALS 같은

SYSTEM_EMAIL_SIGNATURE 

또는

SYSTEM_EMAIL_NOTIFY 

및 우편물에 나중에 사용하거나 있다면 나는 설정을 독립형 스크립트를했다 .rb 파일 -이 설정에는 일반적인 맞춤 설정이 포함되어 있습니다.

나는 처음부터이 응용 프로그램을 다시 빌드하고 모든 스크립트를 하나의 루비 응용 프로그램으로 통합 했으므로이 작업을 더 잘 수행 할 방법을 생각하려고했습니다.

 ########## Setup Global Email Defaults ############## 
Site::Application.configure do 
    config.action_mailer.raise_delivery_errors = true 
    config.action_mailer.delivery_method = :smtp 
    config.action_mailer.smtp_settings = { 
    :address => 'mail.example.com', 
    :port => 25, 
    :domain => 'example.com', 
    # These are custom to OUR setup - used later in the code 
    :default_from => '[email protected]', 
    :default_notify => ["[email protected]"], 
    :default_signature => " 
--------------------------- 
This is an automatic email. 
If you have any questions please contact customer service 
at 1 (800) 888-0000 or go to http://www.example.com. 
Thank you for your business!" 

    } 



end 

그래서 이것은 좋은 방법입니다 :

은 지금은 내가 몇 항목을 추가하여 확장 된 것으로, action_mailer 설정이있는 email.rb 이니셜을 설정하는거야? 아니면이 두 가지 접근법이 더 좋은 방법일까요?

답변

2

나는 당신이 default_from과 default_notify에 대해 올바른 길을 가고 있다고 생각한다. SMTP 설정을 사용하지 않을 것입니다. 그것들은 SMTP 설정이 아니며 일반적인 메일러 설정 일뿐입니다.

내가 이니셜이 같은 갈 것

:이처럼 보이는 YAML 파일로

MAILER_SETTINGS = YAML::load(open(File.join(Rails.root, "config", "mailer.yml")).read)[Rails.env] 

:

development: &development 
    default_from: [email protected] 
    default_notify: ["[email protected]"] 

production: 
    <<: *development 
    default_from: [email protected] 

당신은 기본값을 설정할 수 있습니다 다음, 그들을 캐스케이드 및 원하는대로 환경별로 재정의하십시오.

그러나 시그니처에 대해서는 부분으로 이동 한 다음 메일 템플리트에 포함시킵니다. 그것들은 다른 어떤 것과 같은 견해를 가지고 있으며, 레이아웃, 부분, 그리고 그 모든 것을 가질 수 있습니다.

+0

포인터 주셔서 감사합니다! – konung

관련 문제