diff options
author | Toshi MARUYAMA <marutosijp2@yahoo.co.jp> | 2014-05-16 08:28:52 +0000 |
---|---|---|
committer | Toshi MARUYAMA <marutosijp2@yahoo.co.jp> | 2014-05-16 08:28:52 +0000 |
commit | eaac0eff082e14fe5b87f1c9c2845e4077e1fbed (patch) | |
tree | 2b8b7932a755fab2259018cbdb0b761b37e6873d | |
parent | 6080a4cae38e29a849648323c7cfb576bb3bf81f (diff) | |
download | redmine-eaac0eff082e14fe5b87f1c9c2845e4077e1fbed.tar.gz redmine-eaac0eff082e14fe5b87f1c9c2845e4077e1fbed.zip |
add support for pop3s (SSL) to redmine:email:receive_pop3 (#16707)
Contributed by Eric Davis.
git-svn-id: http://svn.redmine.org/redmine/trunk@13138 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r-- | lib/redmine/pop3.rb | 14 | ||||
-rw-r--r-- | lib/tasks/email.rake | 2 |
2 files changed, 15 insertions, 1 deletions
diff --git a/lib/redmine/pop3.rb b/lib/redmine/pop3.rb index fcedb5003..3c7eb9595 100644 --- a/lib/redmine/pop3.rb +++ b/lib/redmine/pop3.rb @@ -21,8 +21,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') diff --git a/lib/tasks/email.rake b/lib/tasks/email.rake index 875f82fff..95a19e4bc 100644 --- a/lib/tasks/email.rake +++ b/lib/tasks/email.rake @@ -138,6 +138,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) @@ -149,6 +150,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']} |