##// END OF EJS Templates
Replace RAILS_DEFAULT_LOGGER with ::Rails.logger (#11013)....
Jean-Philippe Lang -
r9529:e7b9a9c6ff43
parent child
Show More
@@ -1,60 +1,60
1 # Redmine - project management software
1 # Redmine - project management software
2 # Copyright (C) 2006-2012 Jean-Philippe Lang
2 # Copyright (C) 2006-2012 Jean-Philippe Lang
3 #
3 #
4 # This program is free software; you can redistribute it and/or
4 # This program is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU General Public License
5 # modify it under the terms of the GNU General Public License
6 # as published by the Free Software Foundation; either version 2
6 # as published by the Free Software Foundation; either version 2
7 # of the License, or (at your option) any later version.
7 # of the License, or (at your option) any later version.
8 #
8 #
9 # This program is distributed in the hope that it will be useful,
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
12 # GNU General Public License for more details.
13 #
13 #
14 # You should have received a copy of the GNU General Public License
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17
17
18 require 'net/imap'
18 require 'net/imap'
19
19
20 module Redmine
20 module Redmine
21 module IMAP
21 module IMAP
22 class << self
22 class << self
23 def check(imap_options={}, options={})
23 def check(imap_options={}, options={})
24 host = imap_options[:host] || '127.0.0.1'
24 host = imap_options[:host] || '127.0.0.1'
25 port = imap_options[:port] || '143'
25 port = imap_options[:port] || '143'
26 ssl = !imap_options[:ssl].nil?
26 ssl = !imap_options[:ssl].nil?
27 folder = imap_options[:folder] || 'INBOX'
27 folder = imap_options[:folder] || 'INBOX'
28
28
29 imap = Net::IMAP.new(host, port, ssl)
29 imap = Net::IMAP.new(host, port, ssl)
30 imap.login(imap_options[:username], imap_options[:password]) unless imap_options[:username].nil?
30 imap.login(imap_options[:username], imap_options[:password]) unless imap_options[:username].nil?
31 imap.select(folder)
31 imap.select(folder)
32 imap.search(['NOT', 'SEEN']).each do |message_id|
32 imap.search(['NOT', 'SEEN']).each do |message_id|
33 msg = imap.fetch(message_id,'RFC822')[0].attr['RFC822']
33 msg = imap.fetch(message_id,'RFC822')[0].attr['RFC822']
34 logger.debug "Receiving message #{message_id}" if logger && logger.debug?
34 logger.debug "Receiving message #{message_id}" if logger && logger.debug?
35 if MailHandler.receive(msg, options)
35 if MailHandler.receive(msg, options)
36 logger.debug "Message #{message_id} successfully received" if logger && logger.debug?
36 logger.debug "Message #{message_id} successfully received" if logger && logger.debug?
37 if imap_options[:move_on_success]
37 if imap_options[:move_on_success]
38 imap.copy(message_id, imap_options[:move_on_success])
38 imap.copy(message_id, imap_options[:move_on_success])
39 end
39 end
40 imap.store(message_id, "+FLAGS", [:Seen, :Deleted])
40 imap.store(message_id, "+FLAGS", [:Seen, :Deleted])
41 else
41 else
42 logger.debug "Message #{message_id} can not be processed" if logger && logger.debug?
42 logger.debug "Message #{message_id} can not be processed" if logger && logger.debug?
43 imap.store(message_id, "+FLAGS", [:Seen])
43 imap.store(message_id, "+FLAGS", [:Seen])
44 if imap_options[:move_on_failure]
44 if imap_options[:move_on_failure]
45 imap.copy(message_id, imap_options[:move_on_failure])
45 imap.copy(message_id, imap_options[:move_on_failure])
46 imap.store(message_id, "+FLAGS", [:Deleted])
46 imap.store(message_id, "+FLAGS", [:Deleted])
47 end
47 end
48 end
48 end
49 end
49 end
50 imap.expunge
50 imap.expunge
51 end
51 end
52
52
53 private
53 private
54
54
55 def logger
55 def logger
56 RAILS_DEFAULT_LOGGER
56 ::Rails.logger
57 end
57 end
58 end
58 end
59 end
59 end
60 end
60 end
@@ -1,62 +1,62
1 # Redmine - project management software
1 # Redmine - project management software
2 # Copyright (C) 2006-2012 Jean-Philippe Lang
2 # Copyright (C) 2006-2012 Jean-Philippe Lang
3 #
3 #
4 # This program is free software; you can redistribute it and/or
4 # This program is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU General Public License
5 # modify it under the terms of the GNU General Public License
6 # as published by the Free Software Foundation; either version 2
6 # as published by the Free Software Foundation; either version 2
7 # of the License, or (at your option) any later version.
7 # of the License, or (at your option) any later version.
8 #
8 #
9 # This program is distributed in the hope that it will be useful,
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
12 # GNU General Public License for more details.
13 #
13 #
14 # You should have received a copy of the GNU General Public License
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17
17
18 require 'net/pop'
18 require 'net/pop'
19
19
20 module Redmine
20 module Redmine
21 module POP3
21 module POP3
22 class << self
22 class << self
23 def check(pop_options={}, options={})
23 def check(pop_options={}, options={})
24 host = pop_options[:host] || '127.0.0.1'
24 host = pop_options[:host] || '127.0.0.1'
25 port = pop_options[:port] || '110'
25 port = pop_options[:port] || '110'
26 apop = (pop_options[:apop].to_s == '1')
26 apop = (pop_options[:apop].to_s == '1')
27 delete_unprocessed = (pop_options[:delete_unprocessed].to_s == '1')
27 delete_unprocessed = (pop_options[:delete_unprocessed].to_s == '1')
28
28
29 pop = Net::POP3.APOP(apop).new(host,port)
29 pop = Net::POP3.APOP(apop).new(host,port)
30 logger.debug "Connecting to #{host}..." if logger && logger.debug?
30 logger.debug "Connecting to #{host}..." if logger && logger.debug?
31 pop.start(pop_options[:username], pop_options[:password]) do |pop_session|
31 pop.start(pop_options[:username], pop_options[:password]) do |pop_session|
32 if pop_session.mails.empty?
32 if pop_session.mails.empty?
33 logger.debug "No email to process" if logger && logger.debug?
33 logger.debug "No email to process" if logger && logger.debug?
34 else
34 else
35 logger.debug "#{pop_session.mails.size} email(s) to process..." if logger && logger.debug?
35 logger.debug "#{pop_session.mails.size} email(s) to process..." if logger && logger.debug?
36 pop_session.each_mail do |msg|
36 pop_session.each_mail do |msg|
37 message = msg.pop
37 message = msg.pop
38 message_id = (message =~ /^Message-I[dD]: (.*)/ ? $1 : '').strip
38 message_id = (message =~ /^Message-I[dD]: (.*)/ ? $1 : '').strip
39 if MailHandler.receive(message, options)
39 if MailHandler.receive(message, options)
40 msg.delete
40 msg.delete
41 logger.debug "--> Message #{message_id} processed and deleted from the server" if logger && logger.debug?
41 logger.debug "--> Message #{message_id} processed and deleted from the server" if logger && logger.debug?
42 else
42 else
43 if delete_unprocessed
43 if delete_unprocessed
44 msg.delete
44 msg.delete
45 logger.debug "--> Message #{message_id} NOT processed and deleted from the server" if logger && logger.debug?
45 logger.debug "--> Message #{message_id} NOT processed and deleted from the server" if logger && logger.debug?
46 else
46 else
47 logger.debug "--> Message #{message_id} NOT processed and left on the server" if logger && logger.debug?
47 logger.debug "--> Message #{message_id} NOT processed and left on the server" if logger && logger.debug?
48 end
48 end
49 end
49 end
50 end
50 end
51 end
51 end
52 end
52 end
53 end
53 end
54
54
55 private
55 private
56
56
57 def logger
57 def logger
58 RAILS_DEFAULT_LOGGER
58 ::Rails.logger
59 end
59 end
60 end
60 end
61 end
61 end
62 end
62 end
General Comments 0
You need to be logged in to leave comments. Login now