プロジェクト

全般

プロフィール

Vote #64357

完了

Fetching emails from an POP server

Admin Redmine さんが3年以上前に追加. 3年以上前に更新.

ステータス:
Closed
優先度:
通常
担当者:
-
カテゴリ:
Email receiving_29
対象バージョン:
開始日:
2008/12/30
期日:
進捗率:

0%

予定工数:
category_id:
29
version_id:
14
issue_org_id:
2420
author_id:
3284
assigned_to_id:
0
comments:
6
status_id:
5
tracker_id:
3
plus1:
1
affected_version:
closed_on:
affected_version_id:
ステータス-->[Closed]

説明

This is a patch to fetch emails from POP server instead of IMAP (based on IMAP handling code)

Copy attahced pop3.rb into +lib\redmine+ directory

require 'net/pop'

module Redmine
  module POP3
    class << self
      def check(pop_options={}, options={})
        host = pop_options[:host] || '127.0.0.1'
        port = pop_options[:port] || '110'

        pop = Net::POP3.new(host,port)
        pop.start(pop_options[:username], pop_options[:password]) do |pop_session|
          pop_session.each_mail do |msg|
            message = msg.pop
            logger.debug "Receiving message: #{message.grep(/^Subject: /)}" if logger && logger.debug?
            if MailHandler.receive(message, options)
              logger.info "Message #{message.grep(/^Subject: /)} processed -- removing from server." if logger && logger.info?
              puts "#{message.grep(/^Subject: /)}"
              puts "--> Message processed and deleted from the server"
              msg.delete
            else
              puts "#{message.grep(/^Subject: /)}"
              puts "--> Message NOT processed -- leaving it on the server"
              logger.info "ERROR: Message #{message.grep(/^Subject: /)} can not be processed, leaving on the server." if logger && logger.info?
            end

          end
        end
 
      end
      
      private
      
      def logger
        RAILS_DEFAULT_LOGGER
      end
    end
  end
end

and add the new task to email.rake file in lib\tasks

    task :receive_pop => :environment do
      pop_options  = {:host => ENV['host'],
                      :port => ENV['port'],
                      :username => ENV['username'],
                      :password => ENV['password']}
                      
      options = { :issue => {} }
      %w(project status tracker category priority).each { |a| options[:issue][a.to_sym] = ENV[a] if ENV[a] }
      options[:allow_override] = ENV['allow_override'] if ENV['allow_override']

      Redmine::POP3.check(pop_options, options)
    end

journals

+1

--------------------------------------------------------------------------------
this helps to fetch emails also from apop

lib/redmine/pop3.rb

<pre>
module Redmine
module POP3
class << self
def check(pop_options={}, options={})
host = pop_options[:host] || '127.0.0.1'
port = pop_options[:port] || '110'
+ apop = pop_potions[:apop] || false

- pop = Net::POP3.new(host,port)
+ pop = Net::POP3.APOP(apop).new(host,port)

...

</pre>

lib/tasks/email.rake
<pre>
task :receive_pop => :environment do
pop_options = {:host => ENV['host'],
:port => ENV['port'],
+ :apop => ENV['apop'],
:username => ENV['username'],
:password => ENV['password']}

options = { :issue => {} }
%w(project status tracker category priority).each { |a| options[:issue][a.to_sym] = ENV[a] if ENV[a] }
options[:allow_override] = ENV['allow_override'] if ENV['allow_override']

Redmine::POP3.check(pop_options, options)
end
</pre>
--------------------------------------------------------------------------------
very interested for this functionality too!
--------------------------------------------------------------------------------
Definite +1 for this issue to be rolled into the core. My company only allows POP3 accounts for some reason so this is essential
--------------------------------------------------------------------------------
Feature added in r3330.
--------------------------------------------------------------------------------

Admin Redmine さんが3年以上前に更新

  • カテゴリEmail receiving_29 にセット
  • 対象バージョン1.0.0 (RC)_14 にセット

他の形式にエクスポート: Atom PDF

いいね!0
いいね!0