사무실에서 메일을 사용하는 방식이 직접 메일 서버를 구축하지 않고, 오피스365(Office365) 를 사용한다면 Redmine 에서 알람 설정을 다른 방식으로 해야 한다.
Redmine 을 설치한 서버에서 오피스365 를 거쳐서 회사 메일을 받기 위해 다음과 같이 진행한다. 방법은 Redmine 이 설치된 서버에 mail server 인 postfix 를 설치하고, office365 로 중계되도록(relay) 설정한다.
Office 365 에 커넥터 설정
relayhost 설정을 하기 위해서는 office 365 - "관리자 로그인" - "Office 365 관리센터" - "도메인" 에서 기본값으로 선택된 "회사 도메인 이름" 을 선택하고 "도메인 관리" 를 누르면 DNS 레코드 중 Exchange Online 부분의 형식이 MX 인 대상 주소값을 입력한다. (보통 ABC-com.mail.protection.outlook.com 형태로 보인다.)
그리고, "Exchange 관리 센터" - "메일 흐름" - "커넥터" 에서 적당한 이름으로 기본 설정값으로 해서 커넥터 하나를 추가한다. 온프레미스 서버(즉, 사무실에서 설치한 메일 서버)에서 보내는 메일을 오피스 365 에서 받을 수 있도록 하는 것이다.
postfix 설정
Redmine 이 설치된 서버가 Ubuntu 일 때 메일을 보내기 위해 보통 postfix 를 많이 사용하는데, office365 를 릴레이서버로 사용한다. 빨간 색 부분이 수정할 내용이다.
# vi /etc/postfix/main.cf
myhostname = anne-vm
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = anne-vm, localhost.localdomain, localhost
relayhost = 회사도메인-com.mail.protection.outlook.com
mynetworks = 192.168.0.0/24 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
mynetworks 부분의 192.168.0.0/24 이 사내 IP 대역이다. 즉, 192.168.0.1 ~ 192.168.0.254 까지를 사용중이다. 뒤에 있는 IPv6 주소는 무시하자. 원래 설정내용에 포함된것이라서....
mail 명령어로 회사 메일로 가는지 확인한다.
# mail user1@회사도메인.com
Cc:
Subject: Test mail
This is test mail....
"ctrl + D" 입력
※ mail 테스트를 했는데 정작 메일이 안왔다면, /var/log/mail.log(CentOS 일 경우에는 /var/log/maillog) 로그 파일을 확인하자. 왠만하면 에러문을 보고 구글링으로 해결이 가능하다. 그런데, 다음과 같은 로그일 경우에는 block 를 풀기위해 MS 에 문의를 해야한다.
"Apr 23 18:03:41 catherine-vm postfix/smtp[16151]: 5CB2A2A13CF: to=<testuser@회사도메인.com>, relay=회사도메인-com.mail.protection.outlook.com[213.199.154.23]:25, delay=8823, delays=8814/0.05/3.4/6.3, dsn=5.7.1, status=bounced (host 회사도메인-com.mail.protection.outlook.com[213.199.154.23] said: 550 5.7.1 Service unavailable; Client host [121.138.172.201] blocked using FBLW15; To request removal from this list please forward this message to delist@messaging.microsoft.com (in reply to RCPT TO command))"
※ 아래와 같은 로그가 나온다면, /etc/postfix/main.cf 의 smtpd_use_tls 설정이 false 인지 확인해보자.
"Jun 2 17:52:37 redmine-svr postfix/smtpd[29820]: connect from localhost[127.0.0.1]
Jun 2 17:52:37 redmine-svr postfix/smtpd[29820]: lost connection after STARTTLS from localhost[127.0.0.1]
Jun 2 17:52:37 redmine-svr postfix/smtpd[29820]: disconnect from localhost[127.0.0.1]"
Redmine 의 mail 설정
# vi config/configuration.yml
default:
# Outgoing emails configuration
# See the examples below and the Rails guide for more configuration options:
# http://guides.rubyonrails.org/action_mailer_basics.html#action-mailer-configuration
email_delivery:
delivery_method: :smtp
smtp_settings:
address: smtp.gmail.com
port: 587
domain: example.net
authentication: :login
user_name:
password:
...
기본 설정값을 다음과 같이 변경한다.
address 값의 Office 365 DNS 항목에서 보았던 주소값(또는 relayhost 서버주소)으로 변경한다.
default:
email_delivery:
delivery_method: :smtp
smtp_settings:
# tls: true
# enable_starttls_auto: true
address: 회사도메인-com.mail.protection.outlook.com
port: 25
# domain: 회사도메인
# authentication: :login
# user_name:
# password:
...
일감을 추가 또는 수정할때 마다 관련자들에게 메일이 전송되는데, 확인 버튼을 누르고 한참 시간이 걸린다면 mail 설정에서 async_ 를 추가한다. "production:" 을 설정하면 위의 "default:" 에서 같은 설정값을 덮어쓰게(override) 된다. 특정 옵션만 변경된다면 "production" 이나 "development" 에다가 추가하자.
production:
delivery_method: :async_smtp
async_smtp_settings:
address: 회사도메인-com.mail.protection.outlook.com
port: 25
※ 레드마인 일감에서 일감 변경을 해서 메일 전송 테스트를 하면 실제로 /var/log/mail.log 에는 메일전송했다는 로그가 안쌓인다. 메일이 보내졌는지 확인은 실제로 받아보면 알 수 있지만, 다른 방법으로 레드마인 로그를 확인할 수 있다.
# tail -f /opt/redmine/apps/redmine/htdocs/production.log
참고 사이트 :
http://pseg.or.kr/pseg/infouse/3051
http://serverfault.com/questions/42519/how-to-correct-postfix-relay-access-denied
http://www.redmine.org/projects/redmine/wiki/HowTo_configure_Redmine_to_mail_to_MS_Exchange_server
http://www.redmine.org/projects/redmine/wiki/FAQ
http://www.redmine.org/projects/redmine/wiki/EmailConfiguration
'Engineering > Etc' 카테고리의 다른 글
가상 서버에서 Win 2012 서버 키 등록 (0) | 2015.06.19 |
---|---|
국세청 사업 소득 종합 소득세 신고 (0) | 2015.05.12 |
Synology DS 414 에 ipkg 설치 (0) | 2015.03.31 |
command line 에서 sha256 해쉬 패스워드 생성 (0) | 2014.11.19 |
ClamAV 설치 및 설정 (0) | 2014.10.14 |