Add simple support for receiving HTML mails
Create a plain text document by removing all HTML tags with Nokogiri.
This commit is contained in:
parent
7d594bf391
commit
ecdf3bc147
1 changed files with 8 additions and 1 deletions
|
@ -19,7 +19,10 @@ class MessagesMailReceiver
|
||||||
mail_part = nil
|
mail_part = nil
|
||||||
if mail.multipart?
|
if mail.multipart?
|
||||||
for part in mail.parts
|
for part in mail.parts
|
||||||
mail_part = part if MIME::Type.simplified(part.content_type) == "text/plain"
|
content_type = MIME::Type.simplified(part.content_type)
|
||||||
|
if content_type == "text/plain" || !mail_part && content_type == "text/html"
|
||||||
|
mail_part = part
|
||||||
|
end
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
mail_part = mail
|
mail_part = mail
|
||||||
|
@ -30,6 +33,10 @@ class MessagesMailReceiver
|
||||||
body = body.force_encoding mail_part.content_type_parameters[:charset]
|
body = body.force_encoding mail_part.content_type_parameters[:charset]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if MIME::Type.simplified(mail_part.content_type) == "text/html"
|
||||||
|
body = Nokogiri::HTML(body).text
|
||||||
|
end
|
||||||
|
|
||||||
message = user.send_messages.new body: body,
|
message = user.send_messages.new body: body,
|
||||||
group: original_message.group,
|
group: original_message.group,
|
||||||
private: original_message.private,
|
private: original_message.private,
|
||||||
|
|
Loading…
Reference in a new issue