회사에서 redmine 과 Microsoft 의 Exchange Server 를 연결할 일이 생겼다.
우선, config/configuration.yml 파일의 E-Mail 설정 기본 sample 은 아래와 같다.
production:
email_delivery:
delivery_method: :smtp
smtp_settings:
address: "example.com"
port: 25
authentication: :login
domain: 'foo.com'
user_name: 'myaccount'
password: 'password'
특별할게 없는 일반적인 smtp 설정
하지만, 특별할게 없다고 설정하는대로 잘 작동되면 그건 redmine 이 아니지.
당연히 메일은 오지 않았다. SAD ~
log/production.log 를 살펴보니,
Email delivery error: 504 5.7.4 Unrecognized authentication type
인식할 수 없는 인증 방식이라는거다.
이게 참 미칠 노릇인게...
위에 sample 을 보면 알겠지만,
authentication: :login
이게 인증 방식을 설정하는 전부이다.
로그인 해야 되는데 login 말고 뭘 쓰란말야-_-;
그래서 혹시나 보안 설정의 문제인가 싶어서, configuration.yml 에다가 아래 문장을 추가해봤다.
tls: true
그랬더니!
오라는 메일은 안오고...
Email delivery error: SSL_connect returned=1 errno=0 state=SSLv2/v3 read server hello A: unknown protocol
에러가 더 길어졌다. -_-
혹시나 해서,
enable_starttls_auto: true 설정도 추가...!
Email delivery error: 535 5.7.3 Authentication unsuccessful
다시 짧아지긴 했지만...
역시나 fail -_-
메일 서버가 대체 무슨 일을 꾸미고 있는건가 싶어서
telnet 으로 메일 서버 25 번 포트에 접속해서 EHLO 를 날려보니,
EHLO
250-SIZE
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-X-ANONYMOUSTLS
250-AUTH NTLM
250-X-EXPS GSSAPI NTLM
250-8BITMIME
250-BINARYMIME
250-CHUNKINGl
250-XEXCH50
250-XRDST
250 XSHADOW
뭔가 불길한 "AUTH NTLM" 이라는 단어가 보인다.
아아~ 좋지 않아...
ntlm 을 찾아보니, Microsoft 의 Exchange Server 의 인증을 위해 사용되는 방식인데...
redmine 의 인증 방식 기본 값은 login, plain, 그리고 md5 이렇게 밖에 없었다.
구글링을 한참 해보니까, rubyntlm 이라는게 있는 것이 아닌가?
바로 설치!
# gem install rubyntlm
그리고, :authentication => :ntlm 으로 변경!!!!
기대감을 가지고 실행했지만...
또 다시 fail
이렇게 몇 시간 넘게 삽질을 한 후에야 이유를 알았다.
rubyntlm 말고, ruby-ntlm 이 있다 -_-;;;;;
그걸로 하니까 된다.
최종 설정은 아래와 같다.
설치
# gem install ruby-ntlm
# bundle install
설정
- config/environment.rb
require File.expand_path('../application', __FILE__) 아래 쪽에
require 'ntlm/smtp' 추가
- config/configuration.yml
:authentication => :ntlm
아니 이런...
써놓고 보니까 간단하잖아 -_-;
'개발' 카테고리의 다른 글
개발했던 유틸리티들을 github 에 OpenSource 로 공개 (0) | 2017.02.13 |
---|---|
재미있는 개발 관련 책 3권 추천 (1) | 2014.05.23 |
안드로이드 : phonton-android, NoClassDefFoundError (0) | 2014.01.06 |
다시 사용하기 시작한 VirtuaWin, N드라이브 (0) | 2013.05.12 |
맥미니 2012 설치기 (마운틴 라이언, 그리고 부트캠프) (8) | 2013.05.07 |