discourse/lib/email
riking 0a09593f3b FIX: Prefer HTML in incoming emails, heavily refactor email receiver
This commit heavily refactors Email::Receiver to both better handle
different emails and improve testability.

A primary focus of the refactor is reducing the usage of class
variables, in favor of actually passing parameters - making it possible
for multiple tests to use the same Receiver instance.

The EmailLog reported when a topic is created is reflected to put the
user's email in the to_address field, instead of the system address.

The discourse_email_parser function is renamed to
discourse_email_trimmer, and additional stopping conditions are added to
make up for EmailReplyParser's inability to deal with html at the start
of a line.

The force_encoding calls are refactored out to a 'fix_charset' method.

parse_body is renamed to select_body, and the scrub_html method is
dropped in favor of the new HtmlCleaner class.

A new parse_body method is added, which performs the job of the removed
lines of code in the 'process' method.

EmailUnparsableError is redefined again, to be encoding errors (when the
declared encoding is not what was delivered).
2014-08-28 14:36:10 -07:00
..
html_cleaner.rb Add Email::HtmlCleaner for email processing 2014-08-28 14:36:10 -07:00
message_builder.rb FIX: cleanup aliases in email From and Reply-to fields to prevent Bad sender address syntax errors 2014-08-08 13:35:47 -04:00
receiver.rb FIX: Prefer HTML in incoming emails, heavily refactor email receiver 2014-08-28 14:36:10 -07:00
renderer.rb FIX: Code and Emoticon formatting in HTML emails. 2013-11-28 17:21:14 -05:00
sender.rb FEATURE: new disable_emails site setting 2014-08-23 11:07:37 +02:00
styles.rb FIX: lazyYT youtube links not getting included in email 2014-08-23 00:21:31 +05:30