2009-11-22

Ruby on rails에서 Gmail을 이용해서 메일 보내기

Ruby on rails에 기반한 애플리케이션에서 Gmail SMTP를 이용해서 메일을 보내야 했다.

구글링 결과 플러그인을 사용하면 된단다. 시도 때도 없이 플러그인(혹은 라이브러리)을 쓰는 건 피하고 싶기에 머뭇거렸다.

그런데 댓글들을 읽다가 플러그인 없이도 가능하다는 정보에 반색하며 시도해봤다.

우선, config/environment.rb 파일에 다음 내용을 추가한다.

ActionMailer::Base.smtp_settings = {
  :enable_starttls_auto => true,
  :address => "smtp.gmail.com",
  :port => 587,
  :domain => "mycompany.com",
  :authentication => :plain,
  :user_name => "username@mycompany.com",
  :password => "password"
}

enable_starttls_auto를 true로 설정해야 한다는 것을 제외하면 일반 설정과 다르지 않다.

그런데 이렇게 해도 메일이 발송되지 않았다. 에러 메시지는 없고 메일이 정상적으로 발송된 것 처럼 로그가 기록된다.


댓글들을 자세하게 읽어본 결과 루비 1.8.7 이상을 사용해야 한다고 한다. 내가 사용하는 윈도우 개발 환경은 1.8.6이었다.

루비 윈도우 인스톨 버전이 1.8.6이다.


루비 1.8.7이 설치되어 있는 리눅스 운영 환경에는 정상적으로 메일이 전송되는 것을 확인했다.


* Rails 버전은 2.3.2이다.

No comments: