Defect #14865

Incoming email raises with attachment depending on the email client

Added by Jérémie Loosfelt about 9 years ago. Updated over 4 years ago.

Status:NewStart date:
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:Email receiving
Target version:-
Resolution: Affected version:2.3.1

Description

I haven't seen this issue elsewhere so here it is.

bundle exec rake redmine:email:receive_imap RAILS_ENV="production" host=imap.gmail.com username=support@xxx.com password=*** ssl=SSL port=993 project=interne allow_override=project move_on_success=inredmine move_on_failure=failed unknown_user=accept no_permission_check=1 --trace

This raises when my email has an attachment and it is sent using Airmail.
It won't raise if the same attachment is sent with gmail client.

I'm using Redmine 2.3.1.stable.11892 with mysql.
Ruby 1.9.3-p392.

rake aborted!
undefined method `disposition_type' for attachment; filename="Problème.png":Mail::UnstructuredField
/home/redmine/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/mail-2.5.4/lib/mail/field.rb:167:in `method_missing'
/home/redmine/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/mail-2.5.4/lib/mail/part.rb:37:in `inline?'
/home/redmine/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/mail-2.5.4/lib/mail/part.rb:42:in `add_required_fields'
/home/redmine/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/mail-2.5.4/lib/mail/message.rb:1788:in `ready_to_send!'
/home/redmine/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/mail-2.5.4/lib/mail/message.rb:1786:in `block in ready_to_send!'
/home/redmine/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/mail-2.5.4/lib/mail/message.rb:1784:in `each'
/home/redmine/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/mail-2.5.4/lib/mail/message.rb:1784:in `ready_to_send!'
/home/redmine/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/mail-2.5.4/lib/mail/message.rb:1800:in `encoded'
/home/redmine/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/actionmailer-3.2.13/lib/action_mailer/base.rb:434:in `set_payload_for_mail'
/home/redmine/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/actionmailer-3.2.13/lib/action_mailer/base.rb:403:in `block in receive'
/home/redmine/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/activesupport-3.2.13/lib/active_support/notifications.rb:123:in `block in instrument'
/home/redmine/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/activesupport-3.2.13/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
/home/redmine/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/activesupport-3.2.13/lib/active_support/notifications.rb:123:in `instrument'
/home/redmine/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/actionmailer-3.2.13/lib/action_mailer/base.rb:401:in `receive'
/home/redmine/redmine-2.3/app/models/mail_handler.rb:46:in `receive'
/home/redmine/redmine-2.3/lib/redmine/imap.rb:35:in `block in check'
/home/redmine/redmine-2.3/lib/redmine/imap.rb:32:in `each'
/home/redmine/redmine-2.3/lib/redmine/imap.rb:32:in `check'
/home/redmine/redmine-2.3/lib/tasks/email.rake:141:in `block (3 levels) in <top (required)>'
/home/redmine/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rake-10.0.4/lib/rake/task.rb:246:in `call'
/home/redmine/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rake-10.0.4/lib/rake/task.rb:246:in `block in execute'
/home/redmine/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rake-10.0.4/lib/rake/task.rb:241:in `each'
/home/redmine/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rake-10.0.4/lib/rake/task.rb:241:in `execute'
/home/redmine/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rake-10.0.4/lib/rake/task.rb:184:in `block in invoke_with_call_chain'
/home/redmine/.rbenv/versions/1.9.3-p392/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/home/redmine/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rake-10.0.4/lib/rake/task.rb:177:in `invoke_with_call_chain'
/home/redmine/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rake-10.0.4/lib/rake/task.rb:170:in `invoke'
/home/redmine/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rake-10.0.4/lib/rake/application.rb:143:in `invoke_task'
/home/redmine/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rake-10.0.4/lib/rake/application.rb:101:in `block (2 levels) in top_level'
/home/redmine/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rake-10.0.4/lib/rake/application.rb:101:in `each'
/home/redmine/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rake-10.0.4/lib/rake/application.rb:101:in `block in top_level'
/home/redmine/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rake-10.0.4/lib/rake/application.rb:110:in `run_with_threads'
/home/redmine/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rake-10.0.4/lib/rake/application.rb:95:in `top_level'
/home/redmine/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rake-10.0.4/lib/rake/application.rb:73:in `block in run'
/home/redmine/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rake-10.0.4/lib/rake/application.rb:160:in `standard_exception_handling'
/home/redmine/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rake-10.0.4/lib/rake/application.rb:70:in `run'
/home/redmine/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/rake-10.0.4/bin/rake:33:in `<top (required)>'
/home/redmine/.rbenv/versions/1.9.3-p392/bin/rake:23:in `load'
/home/redmine/.rbenv/versions/1.9.3-p392/bin/rake:23:in `<main>'
Tasks: TOP => redmine:email:receive_imap
Notes:
  • when the image is displayed in the body of the email (using Airmail), no attachment will be enclosed to the issue
  • when the email is sent with gmail, the attachment name has an encoding issue

Non-Working attachment email header:

--522ddd5f_77465f01_b8c0
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="Problème.png"

Working attachment email header

--089e015387f0e9841004e5f45f27--
--089e015387f0e9841304e5f45f28
Content-Type: image/png; name="=?windows-1252?B?UHJvYmxlzIBtZS5wbmc=?=" 
Content-Transfer-Encoding: base64
Content-ID: <ii_141032ac94355f9e>
X-Attachment-Id: ii_141032ac94355f9e

History

#1 Updated by Toshi MARUYAMA about 9 years ago

Redmine uses "mail".
Please feed back to "mail" author.
https://github.com/mikel/mail

#2 Updated by Go MAEDA over 4 years ago

This issue has already been reported to the mail gem team.
https://github.com/mikel/mail/issues/651

Also available in: Atom PDF