spree/spree — pull request #1473 by cyu (2012-05-01 19:46:33+00:00)
Title: Don't let mailer errors break orders

If the OrderMailer fails to deliver the email (e.g., SMTP timeout), the order gets in a state is really invalid. This happens to us occasionally (we're using Sendgrid), and correcting the order after the fact is a real pain. The correct behavior should be to allow the Order to complete.

I've also extracted the email sending logic to a separate method within Spree::Order, making that logic easier to override for enhancements like Delayed Job or Airbrake logging.