Skip addresses that exceed bounce score threshold.
This commit is contained in:
parent
2e27fd5c21
commit
1167a11ba7
4 changed files with 31 additions and 1 deletions
|
|
@ -85,6 +85,11 @@ sub www_settings {
|
|||
value => $setting->get( 'newsletterReturnDomain' ),
|
||||
label => 'Newsletter domain name',
|
||||
);
|
||||
$f->integer(
|
||||
name => 'newsletterBounceScoreThreshold',
|
||||
value => $setting->get( 'newsletterBounceScoreThreshold' ),
|
||||
label => 'Bounce score threshold',
|
||||
);
|
||||
$f->submit;
|
||||
|
||||
return $self->getAdminConsole->render($f->print, 'Newsletter settings')
|
||||
|
|
@ -98,6 +103,7 @@ sub www_settingsSave {
|
|||
my ($setting, $form) = $session->quick( 'setting', 'form' );
|
||||
|
||||
$setting->set( 'newsletterReturnDomain', $form->get('newsletterReturnDomain') );
|
||||
$setting->set( 'newsletterBounceScoreThreshold', $form->integer('newsletterBounceScoreThreshold') );
|
||||
|
||||
return $self->www_settings;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,17 @@ use warnings;
|
|||
|
||||
use WebGUI::Mailing::Admin;
|
||||
|
||||
sub bounceScoreOk {
|
||||
my $self = shift;
|
||||
my $address = shift;
|
||||
my $setting = $self->session->setting;
|
||||
|
||||
my $threshold = $setting->get('newsletterBounceScoreThreshold');
|
||||
return 1 unless $threshold;
|
||||
|
||||
return $self->getBounceScore( $address ) < $threshold;
|
||||
}
|
||||
|
||||
sub getBounceScore {
|
||||
my $self = shift;
|
||||
my $address = shift;
|
||||
|
|
|
|||
|
|
@ -163,6 +163,18 @@ sub send {
|
|||
return;
|
||||
}
|
||||
|
||||
# Check bounce score
|
||||
my $bounceScoreOk = WebGUI::Mailing::Bounce->new( $session )->bounceScoreOk( $to );
|
||||
if ( !$self->get( 'isTest' ) && !$bounceScoreOk ) {
|
||||
$self->update( {
|
||||
status => 'skipped',
|
||||
sendDate => time,
|
||||
errorMessage => "Bounce score for $to too high",
|
||||
} );
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
# Fetch subject
|
||||
my $subject = $asset->getSubject( $configuration );
|
||||
|
||||
|
|
|
|||
|
|
@ -111,7 +111,8 @@ sub installNewsletterSettings {
|
|||
|
||||
print "\tInstalling newsletter setting slots...";
|
||||
|
||||
$setting->add( 'newsletterReturnDomain', undef ) unless $setting->has( 'newsletterReturnDomain' );
|
||||
$setting->add( 'newsletterReturnDomain', undef ) unless $setting->has( 'newsletterReturnDomain' );
|
||||
$setting->add( 'newsletterBounceScoreThreshold', 0 ) unless $setting->has( 'newsletterBounceScoreThreshold' );
|
||||
|
||||
print "Done.\n";
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue