HomePhabricator

Improve Amazon SES code error handling behavior

Description

Improve Amazon SES code error handling behavior

Summary:
Fixes T10728. Fixes T10476. SES uses third-party code with unique, creative ideas about error handling.

  • Make the error handling behavior more correct, so it doesn't try to use undefined variables.
  • Simplify the error handling behavior (throw exceptions sooner, remove redundant code).
  • Explicitly test for -smtp misconfigurations. These can arise if you read the wrong column out of the table in the AWS docs, as in T10728.
  • Explicitly test for SimpleXML, to catch T10476 before it does damage.

Test Plan:

  • Configured SES to use a bogus SMTP endpoint.
  • Faked past the SMTP check, hit sane error on the connection.
  • Undid faking, hit immediate hard stop on the STMP check.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T10476, T10728

Differential Revision: https://secure.phabricator.com/D15632