diff options
author | francis <francis> | 2008-09-04 12:44:07 +0000 |
---|---|---|
committer | francis <francis> | 2008-09-04 12:44:07 +0000 |
commit | efa94a2957c2cc549b24cf66c22377d7fe2a624a (patch) | |
tree | c3aa40dbe0385861016ba41bad018b2f2990ed08 | |
parent | 195a9742512cb71ed856a751052478721961739b (diff) |
Hack to work round mail parsing problem in TMail.
-rw-r--r-- | app/models/incoming_message.rb | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/app/models/incoming_message.rb b/app/models/incoming_message.rb index 030a2c04a..cb6d740bb 100644 --- a/app/models/incoming_message.rb +++ b/app/models/incoming_message.rb @@ -19,7 +19,7 @@ # Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ # -# $Id: incoming_message.rb,v 1.142 2008-09-04 11:11:38 francis Exp $ +# $Id: incoming_message.rb,v 1.143 2008-09-04 12:44:07 francis Exp $ # TODO # Move some of the (e.g. quoting) functions here into rblib, as they feel @@ -182,7 +182,11 @@ class IncomingMessage < ActiveRecord::Base # Documentation at http://i.loveruby.net/en/projects/tmail/doc/ def mail if @mail.nil? && !self.raw_data.nil? - @mail = TMail::Mail.parse(self.raw_data) + # Hack round bug in TMail's MIME decoding. Example request which provokes it: + # http://www.whatdotheyknow.com/request/reviews_of_unduly_lenient_senten#incoming-4830 + copy_of_raw_data = self.raw_data.gsub(/; boundary=\s+"/ims,'; boundary="') + + @mail = TMail::Mail.parse(copy_of_raw_data) @mail.base64_decode end @mail |