FIX: Force the right encoding when handling email.

This commit is contained in:
Guo Xiang Tan 2017-04-27 16:49:21 +08:00
parent 7873a2efb7
commit e4b9f72f9e

View File

@ -84,7 +84,20 @@ class Admin::EmailController < Admin::AdminController
def handle_mail
params.require(:email)
Jobs.enqueue(:process_email, mail: params[:email], retry_on_rate_limit: true)
retry_count = 0
begin
Jobs.enqueue(:process_email, mail: params[:email], retry_on_rate_limit: true)
rescue JSON::GeneratorError => e
if retry_count == 0
params[:email] = params[:email].force_encoding('iso-8859-1').encode("UTF-8")
retry_count += 1
retry
else
raise e
end
end
render plain: "email has been received and is queued for processing"
end