summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorToshi MARUYAMA <marutosijp2@yahoo.co.jp>2014-05-16 08:28:52 +0000
committerToshi MARUYAMA <marutosijp2@yahoo.co.jp>2014-05-16 08:28:52 +0000
commiteaac0eff082e14fe5b87f1c9c2845e4077e1fbed (patch)
tree2b8b7932a755fab2259018cbdb0b761b37e6873d
parent6080a4cae38e29a849648323c7cfb576bb3bf81f (diff)
downloadredmine-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.rb14
-rw-r--r--lib/tasks/email.rake2
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']}