logger.info "MailHandler: ignoring email from Redmine emission address [#{sender_email}]" if logger && logger.info
return false
end
- @user = User.find_by_mail(sender_email)
+ @user = User.find_by_mail(sender_email) if sender_email.present?
if @user && !@user.active?
logger.info "MailHandler: ignoring email from non-active user [#{@user.login}]" if logger && logger.info
return false
--- /dev/null
+Return-Path: <john.doe@somenet.foo>\r
+Received: from osiris ([127.0.0.1])\r
+ by OSIRIS\r
+ with hMailServer ; Sun, 22 Jun 2008 12:28:07 +0200\r
+Message-ID: <000501c8d452$a95cd7e0$0a00a8c0@osiris>\r
+To: <redmine@somenet.foo>\r
+Subject: Ticket by unknown user\r
+Date: Sun, 22 Jun 2008 12:28:07 +0200\r
+MIME-Version: 1.0\r
+Content-Type: text/plain;\r
+ format=flowed;\r
+ charset="iso-8859-1";\r
+ reply-type=original\r
+Content-Transfer-Encoding: 7bit\r
+\r
+This is a ticket submitted by an unknown user.\r
+\r
assert issue.author.anonymous?
end
end
+
+ def test_add_issue_by_anonymous_user_with_no_from_address
+ Role.anonymous.add_permission!(:add_issues)
+ assert_no_difference 'User.count' do
+ issue = submit_email('ticket_by_empty_user.eml', :issue => {:project => 'ecookbook'}, :unknown_user => 'accept')
+ assert issue.is_a?(Issue)
+ assert issue.author.anonymous?
+ end
+ end
def test_add_issue_by_anonymous_user_on_private_project
Role.anonymous.add_permission!(:add_issues)