Skip to content

Commit

Permalink
Merge pull request #73 from Serraview/bugfix/message-id-error
Browse files Browse the repository at this point in the history
Mail expects message_id to be encapsulated within <>
  • Loading branch information
drewblas authored Sep 3, 2020
2 parents 7a6575e + c5915ab commit 532ab65
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 1 deletion.
2 changes: 1 addition & 1 deletion lib/aws/ses/send_email.rb
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ def send_raw_email(mail, args = {})

raw_email = build_raw_email(message, args)
result = request('SendRawEmail', raw_email)
message.message_id = "#{result.parsed['SendRawEmailResult']['MessageId']}@#{message_id_domain}"
message.message_id = "<#{result.parsed['SendRawEmailResult']['MessageId']}@#{message_id_domain}>"
result
end

Expand Down
21 changes: 21 additions & 0 deletions test/send_email_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,27 @@ class SendEmailTest < Test::Unit::TestCase
assert_equal 'xyz-123', result.request_id
end

should 'send a raw e-mail with a mail object' do
mock_connection(@base, :body => %{
<SendRawEmailResponse xmlns="http://ses.amazonaws.com/doc/2010-12-01/">
<SendRawEmailResult>
<MessageId>abc-123</MessageId>
</SendRawEmailResult>
<ResponseMetadata>
<RequestId>xyz-123</RequestId>
</ResponseMetadata>
</SendRawEmailResponse>
})

message = Mail.new(@basic_email)
result = @base.send_raw_email(message)
assert result.success?
assert_equal 'abc-123', result.message_id
assert_equal 'xyz-123', result.request_id
assert message.errors.empty?
assert_equal 'abc-123@email.amazonses.com', message.message_id
end

context "with a standard email" do
setup do
@message = Mail.new({:from => 'jon@example.com', :to => 'dave@example.com', :cc => 'sally@example.com', :subject => 'Subject1', :body => "test body"})
Expand Down

0 comments on commit 532ab65

Please sign in to comment.