aboutsummaryrefslogtreecommitdiffstats
path: root/perllib/FixMyStreet/EmailSend.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perllib/FixMyStreet/EmailSend.pm')
-rw-r--r--perllib/FixMyStreet/EmailSend.pm78
1 files changed, 0 insertions, 78 deletions
diff --git a/perllib/FixMyStreet/EmailSend.pm b/perllib/FixMyStreet/EmailSend.pm
deleted file mode 100644
index 09f434931..000000000
--- a/perllib/FixMyStreet/EmailSend.pm
+++ /dev/null
@@ -1,78 +0,0 @@
-package FixMyStreet::EmailSend;
-
-use strict;
-use warnings;
-
-BEGIN {
- # Should move away from Email::Send, but until then:
- $Return::Value::NO_CLUCK = 1;
-}
-
-use FixMyStreet;
-use Email::Send;
-
-=head1 NAME
-
-FixMyStreet::EmailSend
-
-=head1 DESCRIPTION
-
-Thin wrapper around Email::Send - configuring it correctly according to our config.
-
-If the config value 'SMTP_SMARTHOST' is set then email is routed via SMTP to
-that. Otherwise it is sent using a 'sendmail' like binary on the local system.
-
-And finally if if FixMyStreet->test_mode returns true then emails are not sent
-at all but are stored in memory for the test suite to inspect (using
-Email::Send::Test).
-
-=cut
-
-my $args = undef;
-
-if ( FixMyStreet->test_mode ) {
- # Email::Send::Test
- $args = { mailer => 'Test', };
-} elsif ( my $smtp_host = FixMyStreet->config('SMTP_SMARTHOST') ) {
- # Email::Send::SMTP
- my $type = FixMyStreet->config('SMTP_TYPE') || '';
- my $port = FixMyStreet->config('SMTP_PORT') || '';
- my $username = FixMyStreet->config('SMTP_USERNAME') || '';
- my $password = FixMyStreet->config('SMTP_PASSWORD') || '';
-
- unless ($port) {
- $port = 25;
- $port = 465 if $type eq 'ssl';
- $port = 587 if $type eq 'tls';
- }
-
- my $mailer_args = [
- Host => $smtp_host,
- Port => $port,
- ];
- push @$mailer_args, ssl => 1 if $type eq 'ssl';
- push @$mailer_args, tls => 1 if $type eq 'tls';
- push @$mailer_args, username => $username, password => $password
- if $username && $password;
- $args = {
- mailer => 'FixMyStreet::EmailSend::Variable',
- mailer_args => $mailer_args,
- };
-} else {
- # Email::Send::Sendmail
- $args = { mailer => 'Sendmail' };
-}
-
-sub new {
- my ($cls, $hash) = @_;
- $hash ||= {};
- my %args = ( %$args, %$hash );
-
- my $sender = delete($args{env_from});
- if ($sender) {
- $args{mailer_args} = [ @{$args{mailer_args}} ] if $args{mailer_args};
- push @{$args{mailer_args}}, env_from => $sender;
- }
-
- return Email::Send->new(\%args);
-}