From 350bb50c70b9657d56bd9522d8e7976accaaf67f Mon Sep 17 00:00:00 2001 From: Thomas Date: Thu, 8 Aug 2024 11:13:01 +0200 Subject: [PATCH] local dev tweaks --- src/SparkPostApiTransport.php | 7 +++++++ src/SparkPostHelper.php | 15 +++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/src/SparkPostApiTransport.php b/src/SparkPostApiTransport.php index 59d495b..723e705 100644 --- a/src/SparkPostApiTransport.php +++ b/src/SparkPostApiTransport.php @@ -75,6 +75,13 @@ protected function doSendApi(SentMessage $sentMessage, Email $email, Envelope $e $to = $email->getTo(); + // check .local addresses + foreach ($to as $addr) { + if (str_ends_with($addr->getAddress(), '.local')) { + $disableSending = true; + } + } + if ($disableSending) { $result = [ 'total_rejected_recipients' => 0, diff --git a/src/SparkPostHelper.php b/src/SparkPostHelper.php index aa57e14..2727868 100644 --- a/src/SparkPostHelper.php +++ b/src/SparkPostHelper.php @@ -145,6 +145,13 @@ public static function init() } $sending_disabled = self::getEnvSendingDisabled(); + if ($sending_disabled === false) { + // In dev, if we didn't set a value, disable by default + // This can avoid sending emails by mistake :-) oops! + if (Director::isDev() && !self::hasEnvSendingDisabled()) { + $sending_disabled = true; + } + } if ($sending_disabled) { self::config()->disable_sending = $sending_disabled; } @@ -187,6 +194,14 @@ public static function getEnvSendingDisabled() return Environment::getEnv('SPARKPOST_SENDING_DISABLED'); } + /** + * @return bool + */ + public static function hasEnvSendingDisabled() + { + return Environment::hasEnv('SPARKPOST_SENDING_DISABLED'); + } + /** * @return mixed */