aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config/initializers/alaveteli.rb2
-rwxr-xr-xscript/handle-mail-replies.rb2
-rw-r--r--spec/fixtures/files/russian.email40
-rw-r--r--spec/script/handle-mail-replies_spec.rb21
4 files changed, 58 insertions, 7 deletions
diff --git a/config/initializers/alaveteli.rb b/config/initializers/alaveteli.rb
index dca7ac073..7c3f9192b 100644
--- a/config/initializers/alaveteli.rb
+++ b/config/initializers/alaveteli.rb
@@ -10,7 +10,7 @@ load "debug_helpers.rb"
load "util.rb"
# Application version
-ALAVETELI_VERSION = '0.21.0.39'
+ALAVETELI_VERSION = '0.21.0.40'
# Add new inflection rules using the following format
# (all these examples are active by default):
diff --git a/script/handle-mail-replies.rb b/script/handle-mail-replies.rb
index cbff03acb..29f618154 100755
--- a/script/handle-mail-replies.rb
+++ b/script/handle-mail-replies.rb
@@ -168,7 +168,7 @@ def is_oof?(message)
end
def forward_on(raw_message)
- IO.popen("/usr/sbin/sendmail -i #{AlaveteliConfiguration::forward_nonbounce_responses_to}", "w") do |f|
+ IO.popen("/usr/sbin/sendmail -i #{AlaveteliConfiguration::forward_nonbounce_responses_to}", "wb") do |f|
f.write(raw_message);
f.close;
end
diff --git a/spec/fixtures/files/russian.email b/spec/fixtures/files/russian.email
new file mode 100644
index 000000000..6e33b1b46
--- /dev/null
+++ b/spec/fixtures/files/russian.email
@@ -0,0 +1,40 @@
+Message-ID: <558BB884.2010504@whatdotheyknow.com>
+Date: Thu, 25 Jun 2015 09:15:00 +0100
+From: xx <xx@xx.com>
+Reply-To: xx@xx.com
+User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0
+MIME-Version: 1.0
+To: test@example.com <test@example.com>
+CC: xx <xx@xx.com>
+Subject: Re: =?UTF-8?B?0JLQsNGIINGB0LDQudGC?=
+References: <558bb6f371205_72da364cd0c4353@titan.mail>
+In-Reply-To: <558bb6f371205_72da364cd0c4353@titan.mail>
+Content-Type: text/plain; charset=utf-8; format=flowed
+Content-Transfer-Encoding: 8bit
+
+Уважаемая Оксана Позднякова,
+
+спасибо за ваше письмо. Относительно вашего вопроса, в России есть сайт
+РосОтвет - http://rosotvet.ru/
+
+РосОтвет некоммерческий сервис для отправки запросов на получение
+информации о деятельности органов власти. Вы заполняете форму, указывая,
+какая информация вас интересует и Юристы проекта оформляют вашу заявку
+как юридически грамотный запрос, выбирая релевантный орган власти. Они
+отправляют запрос от нашего имени потому, что они СМИ. Сейчас в сайте
+есть 370 запросов и 254 ответов.
+
+С уважением,
+
+Хелень Крос
+---------
+Helen - WhatDoTheyKnow.com volunteer.
+
+
+On 25/06/2015 09:08, Оксана Позднякова wrote:
+> B россии есть подобный сайт?
+>
+> ---------------------------------------------------------------------
+> Message sent using WhatDoTheyKnow contact form,
+> not logged in ---------------------------------------------------------------------
+
diff --git a/spec/script/handle-mail-replies_spec.rb b/spec/script/handle-mail-replies_spec.rb
index 62d5c1dab..72914e517 100644
--- a/spec/script/handle-mail-replies_spec.rb
+++ b/spec/script/handle-mail-replies_spec.rb
@@ -12,11 +12,22 @@ def mail_reply_test(email_filename)
end
describe "When filtering" do
- it "should not fail when not in test mode" do
- xc = ExternalCommand.new("script/handle-mail-replies",
- { :stdin_string => load_file_fixture("track-response-exim-bounce.email") })
- xc.run
- xc.err.should == ""
+
+ describe "when not in test mode" do
+
+ it "should not fail handling a bounce mail" do
+ xc = ExternalCommand.new("script/handle-mail-replies",
+ { :stdin_string => load_file_fixture("track-response-exim-bounce.email") })
+ xc.run
+ xc.err.should == ""
+ end
+
+ it 'should not fail handling a UTF8 encoded mail' do
+ xc = ExternalCommand.new("script/handle-mail-replies",
+ { :stdin_string => load_file_fixture("russian.email") })
+ xc.run
+ xc.err.should == ""
+ end
end
it "should detect an Exim bounce" do