Defect #30785
closed
Mail handler does not ignore emails sent from emission email address if Setting.mail_from includes display name
Added by Go MAEDA over 5 years ago.
Updated over 5 years ago.
Files
- Related to Defect #14792: Don't add a display name and extra angle brackets in List-Id header field added
This fix works for ordinary email addresses.
Index: app/models/mail_handler.rb
===================================================================
--- app/models/mail_handler.rb (revision 17853)
+++ app/models/mail_handler.rb (working copy)
@@ -91,7 +91,7 @@
@handler_options = options
sender_email = email.from.to_a.first.to_s.strip
# Ignore emails received from the application emission address to avoid hell cycles
- if sender_email.casecmp(Setting.mail_from.to_s.strip) == 0
+ if sender_email.casecmp(Setting.mail_from.to_s.gsub(/(?:.*<|>.*|\(.*\)|\s)/, '')) == 0
if logger
logger.info "MailHandler: ignoring email from Redmine emission address [#{sender_email}]"
end
- File 30785-fix.diff added
Here is a patch to fix this issue.
The patch adds a new method Setting.mail_from_addess
to extract an email address from the value of Setting.mail_from. I think it is useful to fix #14792 and implement #5913.
- File deleted (
30785-fix.diff)
- Target version set to 4.0.2
Setting the target version to 4.0.2.
- Subject changed from Mail handler may not ignore emails sent from emission email address to Mail handler does not ignore emails sent from emission email address if Setting.mail_from includes display name
- Status changed from New to Resolved
- Assignee set to Go MAEDA
- Resolution set to Fixed
- Status changed from Resolved to Closed
- Status changed from Closed to Reopened
Go MAEDA wrote:
The patch adds a new method Setting.mail_from_addess
to extract an email address from the value of Setting.mail_from. I think it is useful to fix #14792 and implement #5913.
#5913 and #14792 have been fixed without using newly added Setting.mail_from_addess
method. Only MailHandler#receive uses the method now and I don't think other methods will use it in the future.
Therefore, I think r17862 should be reverted before releasing Redmine 4.0.2 and this issue should be fixed like the following:
diff --git a/app/models/mail_handler.rb b/app/models/mail_handler.rb
index 9298e1b12..aed977bbd 100755
--- a/app/models/mail_handler.rb
+++ b/app/models/mail_handler.rb
@@ -91,7 +91,7 @@ class MailHandler < ActionMailer::Base
@handler_options = options
sender_email = email.from.to_a.first.to_s.strip
# Ignore emails received from the application emission address to avoid hell cycles
- if sender_email.casecmp(Setting.mail_from.to_s.strip) == 0
+ if sender_email.casecmp(Setting.mail_from.to_s.gsub(/(?:.*<|>.*|\(.*\))/, '').strip) == 0
if logger
logger.info "MailHandler: ignoring email from Redmine emission address [#{sender_email}]"
end
Go MAEDA wrote:
Therefore, I think r17862 should be reverted before releasing Redmine 4.0.2 and this issue should be fixed like the following:
[...]
Attaching a new patch. This patch can be applied after reverting r17862.
- Status changed from Reopened to Closed
Also available in: Atom
PDF