« PBLのためのScrumとチケット駆動開発を組み合わせた事例 | トップページ | ITアーキテクトに必要な考え方 »

2013/09/17

Redmineのメール送受信設定をSMTPs、POP3sに対応する方法

メールサーバーがSMTPs、POP3sになった場合、Redmineの設定方法をカスタマイズする必要がある。
設定方法をメモ書き。

【元ネタ】
メールの送受信を暗号化するPOP3s/IMAP4s/SMTPs(over SSL)とは - @IT

メール通知のためのconfiguration.ymlの設定 — Redmine.JP

【1】チケット更新の通知設定

下記のように、GMailへ通知する場合、SMTPsに対応するような設定を使う。
但し、Redmineの設定箇所をカスタマイズする必要がある。

Redmine(2.0.3)の通知メールをGmail経由で送ろうとしてハマった | Azrael

production:
   email_delivery:
     delivery_method: :smtp
     smtp_settings:
       #tls: true       # ここのtlsの行は削除する
       enable_starttls_auto: true
       address: "smtp.gmail.com"
       port: 587
       domain: "smtp.gmail.com" # 'your.domain.com' for GoogleApps
       authentication: :login   # plain → loginへ変更
       user_name: "hogehoge@gmail.com"
       password: "passwordpassword"

「authentication: :login」にするのがコツ。

【2】メールによるチケット自動登録

GMailからチケット自動登録するには、imapで登録できるが、「port=993 ssl=1」を追加する必要がある。

チケット駆動家族 -Redmineでサクサクお気楽生活- ♪ - redmineにgmailのアカウントでメールでチケット登録できるようにしてみた

メールでRedmineのチケットに登録する | システム運用日記

rake -f /var/alminium/Rakefile redmine:email:receive_imap \\
RAILS_ENV="production" \\
host=imap.gmail.com port=993 ssl=1 \\
username=example@gmail.com password=p@ssw0rd \\
project=support tracker=inquiry \\
unknown_user=accept no_permission_check=1

しかし、POP3sのプロトコルでチケット自動登録する場合、sslオプションがrakeコマンドにない。
そのため、下記を参考にして、Redmineにパッチを当てる必要がある。

POP3S, issue creation by email - Redmine

ChiliProject - リビジョン 21685caf - ChiliProject

commit 21685caf5f34c943c78824639b9be667e86a6801
Author: Eric Davis 
Date:   Mon Dec 26 12:45:30 2011 -0800

[#791] Add support for pop3s (SSL) to redmine:email:receive_pop3

diff --git a/lib/tasks/email.rake b/lib/tasks/email.rake
index 134814d..1316e13 100644
--- a/lib/tasks/email.rake
+++ b/lib/tasks/email.rake
@@ -140,6 +140,7 @@ Available POP3 options:
username=USERNAME POP3 account
password=PASSWORD POP3 password
apop=1 use APOP authentication (default: false)
+ ssl=SSL Use SSL? (default: false)
delete_unprocessed=1 delete messages that could not be processed
successfully from the server (default
behaviour is to leave them on the server)
@@ -151,6 +152,7 @@ END_DESC
pop_options = {:host => ENV['host'],
:port => ENV['port'],
:apop => ENV['apop'],
+ :ssl => ENV['ssl'],
:username => ENV['username'],
:password => ENV['password'],
:delete_unprocessed => ENV['delete_unprocessed']}



commit 21685caf5f34c943c78824639b9be667e86a6801
Author: Eric Davis
Date: Mon Dec 26 12:45:30 2011 -0800

[#791] Add support for pop3s (SSL) to redmine:email:receive_pop3

diff --git a/lib/redmine/pop3.rb b/lib/redmine/pop3.rb
index ade84f5..4314823 100644
--- a/lib/redmine/pop3.rb
+++ b/lib/redmine/pop3.rb
@@ -18,8 +18,20 @@ module Redmine
module POP3
class << self
def check(pop_options={}, options={})
+ if pop_options[:ssl]
+ ssl = true
+ if pop_options[:ssl] == 'force'
+ Net::POP3.enable_ssl(OpenSSL::SSL::VERIFY_NONE)
+ else
+ Net::POP3.enable_ssl(OpenSSL::SSL::VERIFY_PEER)
+ end
+ else
+ ssl = false
+ end
+
host = pop_options[:host] || '127.0.0.1'
- port = pop_options[:port] || '110'
+ port = pop_options[:port]
+ port ||= ssl ? '995' : '110'
apop = (pop_options[:apop].to_s == '1')
delete_unprocessed = (pop_options[:delete_unprocessed].to_s == '1')

「port=995 ssl=force」を追加すると、POP3sでもメールによるチケット自動登録が可能になる。

rake -f redmine:email:receive_pop3 RAILS_ENV="production" \\
host=host_IP \\
port=995 ssl=force username=my_username password=my_password \\
project=support

【追記】
@pinzoloさんによれば、RedmineのVer2.6からPop3sに対応するらしい。
待ち遠しい。

Twitter / pinzolo: 2.5.2現在、Redmine の POP3 は SSL に対応していない。なので、Gmail を POP3 を利用して読み込んでチケット登録とかは出来ない。2.6.0 では SSL に対応するらしい。 #Redmine > http://www.redmine.org/issues/16707

Feature #16707: Integrate support of SSL for POP3 incoming emails - Redmine

|

« PBLのためのScrumとチケット駆動開発を組み合わせた事例 | トップページ | ITアーキテクトに必要な考え方 »

Redmine」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« PBLのためのScrumとチケット駆動開発を組み合わせた事例 | トップページ | ITアーキテクトに必要な考え方 »