Redmine не получает электронные письма

#ruby-on-rails #ruby #redmine

#ruby-on-rails #ruby #redmine

Вопрос:

Пожалуйста, помогите.

Я хотел настроить в Redmine 4.1.1 чтение электронной почты. Это мой код, который я выполняю в CLI:

 bundle exec rake -f Rakefile --silent redmine:email:receive_imap RAILS_ENV="production" host=outlook.office365.com port=993 username=user@domain.com password=PASSWORD ssl=1 project=mars-test-do-not-delete folder=main move_on_success=completed move_on_failure=failed no_permission_check=1 unknown_user=accept no_account_notice=1 --trace
 

Но я получаю этот вывод при выполнении кода:

 ** Invoke redmine:email:receive_imap (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute redmine:email:receive_imap
rake aborted!
NameError: uninitialized constant Redmine::IMAP
/home/seven/redmine/lib/tasks/email.rake:121:in `block (4 levels) in <top (required)>'
/home/seven/redmine/app/models/mailer.rb:630:in `with_synched_deliveries'
/home/seven/redmine/lib/tasks/email.rake:120:in `block (3 levels) in <top (required)>'
/home/seven/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/rake-13.0.1/lib/rake/task.rb:281:in `block in execute'
/home/seven/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/rake-13.0.1/lib/rake/task.rb:281:in `each'
/home/seven/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/rake-13.0.1/lib/rake/task.rb:281:in `execute'
/home/seven/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/rake-13.0.1/lib/rake/task.rb:219:in `block in invoke_with_call_chain'
/home/seven/.rbenv/versions/2.6.0/lib/ruby/2.6.0/monitor.rb:230:in `mon_synchronize'
/home/seven/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/rake-13.0.1/lib/rake/task.rb:199:in `invoke_with_call_chain'
/home/seven/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/rake-13.0.1/lib/rake/task.rb:188:in `invoke'
Tasks: TOP => redmine:email:receive_imap
 

Это только половина результата.

Есть идеи? Предложения? Что угодно 🙂

SMTP работает без каких-либо проблем. Я использую сервер Exchange MS для электронной почты.

Спасибо.


В качестве обновления: я настроил новый сервер ubuntu 20.04 LTS, установил redmine 4.0.6 Ruby 2.5.0 rake 13.0.1

Теперь, когда я запускаю:

 rake -f Rakefile --silent redmine:email:receive_imap RAILS_ENV="production" host=outlook.office365.com port=993 username=EMAIL_USER password=PASSWORD ssl=true project=mars-test-do-not-delete folder=main move_on_success=processed move_on_failure=failed no_permission_check=1 unknown_user=accept 1 > /dev/null
 

Я понимаю это:

 Your Gemfile lists the gem redmine_crm (>= 0) more than once.
You should probably keep only one of them.
Remove any duplicate entries and specify the gem only once.
While it's not a problem now, it could cause errors if you change the version of one of them later.
rake aborted!
NameError: uninitialized constant Redmine::IMAP
/home/seven/redmine/lib/tasks/email.rake:121:in `block (4 levels) in <top (required)>'
/home/seven/redmine/app/models/mailer.rb:612:in `with_synched_deliveries'
/home/seven/redmine/lib/tasks/email.rake:120:in `block (3 levels) in <top (required)>'
/home/seven/.rvm/gems/ruby-2.5.0/gems/rake-13.0.1/exe/rake:27:in `<top (required)>'
/home/seven/.rvm/gems/ruby-2.5.0/bin/ruby_executable_hooks:24:in `eval'
/home/seven/.rvm/gems/ruby-2.5.0/bin/ruby_executable_hooks:24:in `<main>'
Tasks: TOP => redmine:email:receive_imap
(See full trace by running task with --trace)
 

Я проверил redmine_crm, к моему удивлению, в файле Gemfile у меня есть только одна ссылка на него, поэтому я не совсем понимаю, почему я получаю эту ошибку;/

Комментарии:

1. Кажется, плагин также упоминается где-то еще в другом Gemfile. Устанавливали ли вы плагин сначала с помощью «bundle exec rake redmine:plugins NAME= имя плагина RAILS_ENV = environment» или удалили это из файла Gemfile плагина и запустили его снова.

Ответ №1:

Я нашел проблему.

В файле:

 /ROOT_PATH_TO_REDMINE/lib/tasks/email.rake
 

Мне нужно было добавить одну строку в начало файла:

 require 'redmine/imap.rb'
 

Это решило проблему.