diff options
author | Chee Leong <klrkdekira@gmail.com> | 2013-06-27 12:07:50 +0800 |
---|---|---|
committer | Chee Leong <klrkdekira@gmail.com> | 2013-06-27 12:07:50 +0800 |
commit | 75a12f0b3943b16ffa404a1e6217907906fba6a8 (patch) | |
tree | 09b8cb4da93fc1be5dd7e11b0f1063523b1e9787 /perllib/FixMyStreet/App.pm | |
parent | be48583aa29473d150ee20a62bce7e84c9d33c82 (diff) | |
parent | 4f0f7fa9f77930996e7891b617523dce4364a6d5 (diff) |
Merge branch 'master' of https://github.com/Sinar/fixmystreet
Diffstat (limited to 'perllib/FixMyStreet/App.pm')
-rw-r--r-- | perllib/FixMyStreet/App.pm | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/perllib/FixMyStreet/App.pm b/perllib/FixMyStreet/App.pm index 205732caf..cf766348f 100644 --- a/perllib/FixMyStreet/App.pm +++ b/perllib/FixMyStreet/App.pm @@ -316,6 +316,8 @@ sub send_email { $email->header_set( ucfirst($_), $vars->{$_} ) for grep { $vars->{$_} } qw( to from subject); + return if $c->is_abuser( $email->header('To') ); + $email->header_set( 'Message-ID', sprintf('<fms-%s-%s@%s>', time(), unpack('h*', random_bytes(5, 1)), $c->config->{EMAIL_DOMAIN} ) ); @@ -340,6 +342,8 @@ sub send_email { sub send_email_cron { my ( $c, $params, $env_from, $env_to, $nomail ) = @_; + return 1 if $c->is_abuser( $env_to ); + $params->{'Message-ID'} = sprintf('<fms-cron-%s-%s@mysociety.org>', time(), unpack('h*', random_bytes(5, 1)) ); @@ -482,6 +486,12 @@ sub get_photo_params { return $photo; } +sub is_abuser { + my ($c, $email) = @_; + my ($domain) = $email =~ m{ @ (.*) \z }x; + return $c->model('DB::Abuse')->search( { email => [ $email, $domain ] } )->first; +} + =head1 SEE ALSO L<FixMyStreet::App::Controller::Root>, L<Catalyst> |