diff options
| author | Gareth Rees <gareth@mysociety.org> | 2015-05-12 12:43:04 +0100 |
|---|---|---|
| committer | Gareth Rees <gareth@mysociety.org> | 2015-05-13 10:53:10 +0100 |
| commit | da6c11531a761847ee129f92677a44fdb02de04e (patch) | |
| tree | a0722942ab0907cc974b08c25f431245cc4a14e9 /spec/mailers/request_mailer_spec.rb | |
| parent | cfed22d9a2d4fab6c8d008a74bcdf97c908384c2 (diff) | |
Discard rejected responses with malformed From:
Stops the RequestMailer trying to send a stopped_responses mail if the
To: address can’t be parsed from the incoming message.
ArgumentError:
An SMTP To address is required to send a message. Set the message
smtp_envelope_to, to, cc, or bcc address.
Diffstat (limited to 'spec/mailers/request_mailer_spec.rb')
| -rw-r--r-- | spec/mailers/request_mailer_spec.rb | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/spec/mailers/request_mailer_spec.rb b/spec/mailers/request_mailer_spec.rb index 83befc4b4..a26be866e 100644 --- a/spec/mailers/request_mailer_spec.rb +++ b/spec/mailers/request_mailer_spec.rb @@ -184,6 +184,24 @@ describe RequestMailer, " when receiving incoming mail" do deliveries.clear end + it "discards rejected responses with a malformed From: when set to bounce" do + ir = info_requests(:fancy_dog_request) + ir.allow_new_responses_from = 'nobody' + ir.handle_rejected_responses = 'bounce' + ir.save! + ir.incoming_messages.size.should == 1 + + receive_incoming_mail('incoming-request-plain.email', ir.incoming_email, "") + ir.incoming_messages.size.should == 1 + + last_event = ir.info_request_events.last + last_event.params[:rejected_reason].should =~ /there is no "From" address/ + + deliveries = ActionMailer::Base.deliveries + deliveries.size.should == 0 + deliveries.clear + end + it "should send all new responses to holding pen if a request is marked to do so" do # mark request as anti-spam ir = info_requests(:fancy_dog_request) |
