diff --git a/bin/console b/bin/console index fe7541d..8930d0f 100755 --- a/bin/console +++ b/bin/console @@ -103,13 +103,23 @@ function writeln(...$values) } } -function handleError($section, Exception $e) +function handleError($section, Exception $e, bool $debug) { writeln( sprintf('ERROR - %s', $section), $e->getMessage() ); + if ($debug) { + writeln( + "", + "Trace", + "=====", + json_encode($e->getTrace(), JSON_PRETTY_PRINT), + "=====", + ); + } + exit(1); } @@ -117,11 +127,8 @@ if ($config['is_debug']) { writeln( 'Debug', '=====', - 'Config', - json_encode($config, JSON_PRETTY_PRINT), - 'Environment', - json_encode($_SERVER, JSON_PRETTY_PRINT), - '=====' + json_encode(['config' => $config, 'environment' => $_SERVER], JSON_PRETTY_PRINT), + '=====', ); } @@ -141,11 +148,11 @@ try { writeln('Email sent!'); } } catch (SyntaxError $e) { - handleError('Syntax error', $e); + handleError('Syntax error', $e, $config['is_debug']); } catch (TransportException $e) { - handleError('Transport error', $e); + handleError('Transport error', $e, $config['is_debug']); } catch (RfcComplianceException $e) { - handleError('RFC compliance error', $e); + handleError('RFC compliance error', $e, $config['is_debug']); } catch (\Exception $e) { - handleError('Generic error', $e); + handleError('Generic error', $e, $config['is_debug']); } diff --git a/src/Factory/EmailFactory.php b/src/Factory/EmailFactory.php index 59b6c62..e55a206 100644 --- a/src/Factory/EmailFactory.php +++ b/src/Factory/EmailFactory.php @@ -21,7 +21,7 @@ class EmailFactory public function createMailer(): Mailer { - return new Mailer(Transport::fromDsn($this->config['dsn'])); + return new Mailer(Transport::fromDsn((string) $this->config['dsn'])); } public function createEmail(): Email