##// END OF EJS Templates
Ability to accept incoming emails from unknown users (#2230, #3003)....
Ability to accept incoming emails from unknown users (#2230, #3003). An option lets you specify how to handle emails from unknown users: * ignore: the email is ignored (previous and default behaviour) * accept: the sender is considered as an anonymous user * create: a user account is created (username/password are sent back to the user) Permissions have to be consistent with the chosen option. Eg. if you choose 'create', the 'Non member' role must have the 'Add issues' permission so that an issue can be created by an unknown user via email. If you choose 'accept', the 'Anonymous' role must have this permission. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2789 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r2689:b3afde14fa60
r2689:b3afde14fa60
Show More
email.rake
130 lines | 5.5 KiB | text/x-ruby | RubyLexer
Jean-Philippe Lang
IMAP: add options to move received emails....
r2218 # Redmine - project management software
Jean-Philippe Lang
Adds basic support for issue creation via email (#1110)....
r1554 # Copyright (C) 2006-2008 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Jean-Philippe Lang
Adds a rake task (redmine:email:receive_imap) to read emails from an IMAP server (#1110)....
r1555 namespace :redmine do
namespace :email do
desc <<-END_DESC
Jean-Philippe Lang
Adds basic support for issue creation via email (#1110)....
r1554 Read an email from standard input.
Jean-Philippe Lang
Ability to accept incoming emails from unknown users (#2230, #3003)....
r2689 General options:
unknown_user=ACTION how to handle emails from an unknown user
ACTION can be one of the following values:
ignore: email is ignored (default)
accept: accept as anonymous user
create: create a user account
Jean-Philippe Lang
Mail handler: more control over issue attributes (#1110)....
r1629 Issue attributes control options:
project=PROJECT identifier of the target project
Jean-Philippe Lang
Adds status option to email integration rake tasks....
r2073 status=STATUS name of the target status
Jean-Philippe Lang
Mail handler: more control over issue attributes (#1110)....
r1629 tracker=TRACKER name of the target tracker
category=CATEGORY name of the target category
priority=PRIORITY name of the target priority
allow_override=ATTRS allow email content to override attributes
specified by previous options
ATTRS is a comma separated list of attributes
Examples:
# No project specified. Emails MUST contain the 'Project' keyword:
rake redmine:email:read RAILS_ENV="production" < raw_email
# Fixed project and default tracker specified, but emails can override
# both tracker and priority attributes:
rake redmine:email:read RAILS_ENV="production" \\
project=foo \\
tracker=bug \\
allow_override=tracker,priority < raw_email
Jean-Philippe Lang
Adds basic support for issue creation via email (#1110)....
r1554 END_DESC
Jean-Philippe Lang
Mail handler: more control over issue attributes (#1110)....
r1629 task :read => :environment do
options = { :issue => {} }
Jean-Philippe Lang
Adds status option to email integration rake tasks....
r2073 %w(project status tracker category priority).each { |a| options[:issue][a.to_sym] = ENV[a] if ENV[a] }
Jean-Philippe Lang
Mail handler: more control over issue attributes (#1110)....
r1629 options[:allow_override] = ENV['allow_override'] if ENV['allow_override']
Jean-Philippe Lang
Ability to accept incoming emails from unknown users (#2230, #3003)....
r2689 options[:unknown_user] = ENV['unknown_user'] if ENV['unknown_user']
Jean-Philippe Lang
Adds basic support for issue creation via email (#1110)....
r1554
MailHandler.receive(STDIN.read, options)
end
Jean-Philippe Lang
Adds a rake task (redmine:email:receive_imap) to read emails from an IMAP server (#1110)....
r1555
desc <<-END_DESC
Read emails from an IMAP server.
Jean-Philippe Lang
Ability to accept incoming emails from unknown users (#2230, #3003)....
r2689 General options:
unknown_user=ACTION how to handle emails from an unknown user
ACTION can be one of the following values:
ignore: email is ignored (default)
accept: accept as anonymous user
create: create a user account
Jean-Philippe Lang
Adds a rake task (redmine:email:receive_imap) to read emails from an IMAP server (#1110)....
r1555 Available IMAP options:
Jean-Philippe Lang
Mail handler: more control over issue attributes (#1110)....
r1629 host=HOST IMAP server host (default: 127.0.0.1)
port=PORT IMAP server port (default: 143)
ssl=SSL Use SSL? (default: false)
username=USERNAME IMAP account
password=PASSWORD IMAP password
folder=FOLDER IMAP folder to read (default: INBOX)
Jean-Philippe Lang
Ability to accept incoming emails from unknown users (#2230, #3003)....
r2689
Jean-Philippe Lang
Mail handler: more control over issue attributes (#1110)....
r1629 Issue attributes control options:
project=PROJECT identifier of the target project
Jean-Philippe Lang
Adds status option to email integration rake tasks....
r2073 status=STATUS name of the target status
Jean-Philippe Lang
Mail handler: more control over issue attributes (#1110)....
r1629 tracker=TRACKER name of the target tracker
category=CATEGORY name of the target category
priority=PRIORITY name of the target priority
allow_override=ATTRS allow email content to override attributes
specified by previous options
ATTRS is a comma separated list of attributes
Jean-Philippe Lang
IMAP: add options to move received emails....
r2218
Processed emails control options:
move_on_success=MAILBOX move emails that were successfully received
to MAILBOX instead of deleting them
move_on_failure=MAILBOX move emails that were ignored to MAILBOX
Jean-Philippe Lang
Mail handler: more control over issue attributes (#1110)....
r1629
Examples:
# No project specified. Emails MUST contain the 'Project' keyword:
rake redmine:email:receive_iamp RAILS_ENV="production" \\
Jean-Philippe Lang
Use example.net as domain in default configuration (#1762)....
r1763 host=imap.foo.bar username=redmine@example.net password=xxx
Jean-Philippe Lang
Mail handler: more control over issue attributes (#1110)....
r1629
# Fixed project and default tracker specified, but emails can override
# both tracker and priority attributes:
Jean-Philippe Lang
Adds a rake task (redmine:email:receive_imap) to read emails from an IMAP server (#1110)....
r1555
Jean-Philippe Lang
Mail handler: more control over issue attributes (#1110)....
r1629 rake redmine:email:receive_iamp RAILS_ENV="production" \\
Jean-Philippe Lang
Use example.net as domain in default configuration (#1762)....
r1763 host=imap.foo.bar username=redmine@example.net password=xxx ssl=1 \\
Jean-Philippe Lang
Mail handler: more control over issue attributes (#1110)....
r1629 project=foo \\
tracker=bug \\
allow_override=tracker,priority
Jean-Philippe Lang
Adds a rake task (redmine:email:receive_imap) to read emails from an IMAP server (#1110)....
r1555 END_DESC
task :receive_imap => :environment do
imap_options = {:host => ENV['host'],
:port => ENV['port'],
:ssl => ENV['ssl'],
:username => ENV['username'],
:password => ENV['password'],
Jean-Philippe Lang
IMAP: add options to move received emails....
r2218 :folder => ENV['folder'],
:move_on_success => ENV['move_on_success'],
:move_on_failure => ENV['move_on_failure']}
Jean-Philippe Lang
Adds a rake task (redmine:email:receive_imap) to read emails from an IMAP server (#1110)....
r1555
Jean-Philippe Lang
Mail handler: more control over issue attributes (#1110)....
r1629 options = { :issue => {} }
Jean-Philippe Lang
Adds status option to email integration rake tasks....
r2073 %w(project status tracker category priority).each { |a| options[:issue][a.to_sym] = ENV[a] if ENV[a] }
Jean-Philippe Lang
Mail handler: more control over issue attributes (#1110)....
r1629 options[:allow_override] = ENV['allow_override'] if ENV['allow_override']
Jean-Philippe Lang
Ability to accept incoming emails from unknown users (#2230, #3003)....
r2689 options[:unknown_user] = ENV['unknown_user'] if ENV['unknown_user']
Jean-Philippe Lang
Adds a rake task (redmine:email:receive_imap) to read emails from an IMAP server (#1110)....
r1555
Redmine::IMAP.check(imap_options, options)
end
Jean-Philippe Lang
Adds basic support for issue creation via email (#1110)....
r1554 end
end