From 08d4cff58eaee852930442fb825d533adef2b11f Mon Sep 17 00:00:00 2001 From: Mohit Panjwani Date: Mon, 18 Nov 2019 15:07:29 +0530 Subject: [PATCH 1/3] fix prod migrate issue --- app/Http/Controllers/EnvironmentController.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/EnvironmentController.php b/app/Http/Controllers/EnvironmentController.php index 8a8317b9..b5f9f91e 100755 --- a/app/Http/Controllers/EnvironmentController.php +++ b/app/Http/Controllers/EnvironmentController.php @@ -38,8 +38,8 @@ class EnvironmentController extends Controller if(array_key_exists("success", $results)) { Artisan::call('config:clear'); Artisan::call('key:generate --force'); - Artisan::call('migrate --seed'); - Artisan::call('migrate', ['--path' => 'vendor/laravel/passport/database/migrations']); + Artisan::call('migrate --seed --force'); + Artisan::call('migrate --force', ['--path' => 'vendor/laravel/passport/database/migrations']); \Storage::disk('local')->put('database_created', 'database_created'); From 6d350db854ca0e17bbd0227a9e90e6f89a4e042f Mon Sep 17 00:00:00 2001 From: raishvaria Date: Mon, 18 Nov 2019 17:30:04 +0530 Subject: [PATCH 2/3] add mail configuration --- .../Controllers/EnvironmentController.php | 12 +- app/Http/Requests/MailEnvironmentRequest.php | 88 +++++- app/Space/EnvironmentManager.php | 151 ++++++++-- config/services.php | 4 + resources/assets/js/plugins/en.js | 10 + .../assets/js/views/settings/MailConfig.vue | 185 ++---------- .../js/views/settings/mailDriver/Basic.vue | 156 ++++++++++ .../js/views/settings/mailDriver/Mailgun.vue | 276 ++++++++++++++++++ .../js/views/settings/mailDriver/Mandrill.vue | 228 +++++++++++++++ .../js/views/settings/mailDriver/Ses.vue | 251 ++++++++++++++++ .../js/views/settings/mailDriver/Smtp.vue | 251 ++++++++++++++++ .../views/settings/mailDriver/Sparkpost.vue | 231 +++++++++++++++ 12 files changed, 1655 insertions(+), 188 deletions(-) create mode 100644 resources/assets/js/views/settings/mailDriver/Basic.vue create mode 100644 resources/assets/js/views/settings/mailDriver/Mailgun.vue create mode 100644 resources/assets/js/views/settings/mailDriver/Mandrill.vue create mode 100644 resources/assets/js/views/settings/mailDriver/Ses.vue create mode 100644 resources/assets/js/views/settings/mailDriver/Smtp.vue create mode 100644 resources/assets/js/views/settings/mailDriver/Sparkpost.vue diff --git a/app/Http/Controllers/EnvironmentController.php b/app/Http/Controllers/EnvironmentController.php index 8a8317b9..4f3be3cf 100755 --- a/app/Http/Controllers/EnvironmentController.php +++ b/app/Http/Controllers/EnvironmentController.php @@ -75,9 +75,19 @@ class EnvironmentController extends Controller 'mail_port' => config('mail.port'), 'mail_username' => config('mail.username'), 'mail_password' => config('mail.password'), - 'mail_encryption' => config('mail.encryption') + 'mail_encryption' => config('mail.encryption'), + 'from_name' => config('mail.from.name'), + 'from_mail' => config('mail.from.address'), + 'mail_mailgun_endpoint' => config('services.mailgun.endpoint'), + 'mail_mailgun_domain' => config('services.mailgun.domain'), + 'mail_mailgun_secret' => config('services.mailgun.secret'), + 'mail_sparkpost_secret' => config('services.sparkpost.secret'), + 'mail_ses_key' => config('services.ses.key'), + 'mail_ses_secret' => config('services.ses.secret'), + 'mail_mandrill_secret' => config('services.mandrill.secret'), ]; + return response()->json($MailData); } diff --git a/app/Http/Requests/MailEnvironmentRequest.php b/app/Http/Requests/MailEnvironmentRequest.php index 039841ab..cc911c6e 100644 --- a/app/Http/Requests/MailEnvironmentRequest.php +++ b/app/Http/Requests/MailEnvironmentRequest.php @@ -23,13 +23,85 @@ class MailEnvironmentRequest extends FormRequest */ public function rules() { - return [ - 'mail_driver' => 'required|string|max:50', - 'mail_host' => 'required|string|max:50', - 'mail_port' => 'required|max:50', - 'mail_username' => 'required|string|max:50', - 'mail_password' => 'required|string|max:50', - 'mail_encryption' => 'required|string|max:50', - ]; + switch ($this->get('mail_driver')) { + case 'smtp': + return [ + 'mail_driver' => 'required|string|max:50', + 'mail_host' => 'required|string|max:50', + 'mail_port' => 'required|max:50', + 'mail_username' => 'required|string|max:50', + 'mail_password' => 'required|string|max:50', + 'mail_encryption' => 'required|string|max:50', + 'from_name' => 'required|string|max:50', + 'from_mail' => 'required|string|max:50', + ]; + break; + + case 'mailgun': + return [ + 'mail_driver' => 'required|string|max:50', + 'mail_host' => 'required|string|max:50', + 'mail_port' => 'required|max:50', + 'mail_mailgun_domain' => 'required|string|max:50', + 'mail_mailgun_secret' => 'required|string|max:50', + 'mail_mailgun_endpoint' => 'required|string|max:50', + 'mail_encryption' => 'required|string|max:50', + 'from_name' => 'required|string|max:50', + 'from_mail' => 'required|string|max:50', + ]; + break; + + case 'sparkpost': + return [ + 'mail_driver' => 'required|string|max:50', + 'mail_host' => 'required|string|max:50', + 'mail_port' => 'required|max:50', + 'mail_sparkpost_secret' => 'required|string|max:50', + 'mail_encryption' => 'required|string|max:50', + 'from_name' => 'required|string|max:50', + 'from_mail' => 'required|string|max:50', + ]; + break; + + case 'ses': + return [ + 'mail_driver' => 'required|string|max:50', + 'mail_host' => 'required|string|max:50', + 'mail_port' => 'required|max:50', + 'mail_ses_key' => 'required|string|max:50', + 'mail_ses_secret' => 'required|string|max:50', + 'mail_encryption' => 'required|string|max:50', + 'from_name' => 'required|string|max:50', + 'from_mail' => 'required|string|max:50', + ]; + break; + + case 'mail': + return [ + 'from_name' => 'required|string|max:50', + 'from_mail' => 'required|string|max:50', + ]; + break; + + case 'sendmail': + return [ + 'from_name' => 'required|string|max:50', + 'from_mail' => 'required|string|max:50', + ]; + break; + + case 'mandrill': + return [ + 'mail_driver' => 'required|string|max:50', + 'mail_host' => 'required|string|max:50', + 'mail_port' => 'required|max:50', + 'mail_mandrill_secret' => 'required|string|max:50', + 'mail_encryption' => 'required|string|max:50', + 'from_name' => 'required|string|max:50', + 'from_mail' => 'required|string|max:50', + ]; + break; + } + } } diff --git a/app/Space/EnvironmentManager.php b/app/Space/EnvironmentManager.php index 5e30e577..4f1bd799 100755 --- a/app/Space/EnvironmentManager.php +++ b/app/Space/EnvironmentManager.php @@ -94,33 +94,14 @@ class EnvironmentManager */ public function saveMailVariables(MailEnvironmentRequest $request) { - $oldMailData = - 'MAIL_DRIVER='.config('mail.driver')."\n". - 'MAIL_HOST='.config('mail.host')."\n". - 'MAIL_PORT='.config('mail.port')."\n". - 'MAIL_USERNAME='.config('mail.username')."\n". - 'MAIL_PASSWORD='.config('mail.password')."\n". - 'MAIL_ENCRYPTION='.config('mail.encryption')."\n\n"; - $newMailData = - 'MAIL_DRIVER='.$request->mail_driver."\n". - 'MAIL_HOST='.$request->mail_host."\n". - 'MAIL_PORT='.$request->mail_port."\n". - 'MAIL_USERNAME='.$request->mail_username."\n". - 'MAIL_PASSWORD='.$request->mail_password."\n". - 'MAIL_ENCRYPTION='.$request->mail_encryption."\n\n"; + $mailData = $this->getMailData($request); try { file_put_contents($this->envPath, str_replace( - $oldMailData, - $newMailData, - file_get_contents($this->envPath) - )); - - file_put_contents($this->envPath, str_replace( - $oldMailData, - $newMailData, + $mailData['old_mail_data'], + $mailData['new_mail_data'], file_get_contents($this->envPath) )); @@ -135,6 +116,132 @@ class EnvironmentManager ]; } + private function getMailData($request) + { + $mailCredential = ""; + $otherCredential = ""; + $oldMailOtherCredential = ""; + + if(env('MAIL_FROM_ADDRESS') && env('MAIL_FROM_NAME')) { + $oldMailOtherCredential = + 'MAIL_FROM_ADDRESS='.config('mail.from.address')."\n". + 'MAIL_FROM_NAME='.config('mail.from.name')."\n\n"; + } + + $oldMailCredential = + 'MAIL_USERNAME='.config('mail.username')."\n". + 'MAIL_PASSWORD='.config('mail.password')."\n"; + + switch ($request->mail_driver) { + case 'smtp': + $mailCredential= + 'MAIL_USERNAME='.$request->mail_username."\n". + 'MAIL_PASSWORD='.$request->mail_password."\n"; + break; + + case 'mailgun': + $mailCredential = $oldMailCredential; + $otherCredential= + 'MAILGUN_DOMAIN='.$request->mail_mailgun_domain."\n". + 'MAILGUN_SECRET='.$request->mail_mailgun_secret."\n". + 'MAILGUN_ENDPOINT='.$request->mail_mailgun_endpoint."\n\n"; + + if(env('MAILGUN_DOMAIN') && env('MAILGUN_SECRET') && env('MAILGUN_ENDPOINT')) { + $oldMailOtherCredential = + 'MAILGUN_DOMAIN='.config('services.mailgun.domain')."\n". + 'MAILGUN_SECRET='.config('services.mailgun.secret')."\n". + 'MAILGUN_ENDPOINT='.config('services.mailgun.endpoint')."\n\n"; + } + + break; + + case 'sparkpost': + $mailCredential = $oldMailCredential; + $otherCredential= + 'SPARKPOST_SECRET='.$request->mail_sparkpost_secret."\n\n"; + + if(env('SPARKPOST_SECRET')) { + $oldMailOtherCredential = + 'SPARKPOST_SECRET='.config('services.sparkpost.secret')."\n\n"; + } + break; + + case 'ses': + $mailCredential = $oldMailCredential; + $otherCredential= + 'SES_KEY='.$request->mail_ses_key."\n". + 'SES_SECRET='.$request->mail_ses_secret."\n\n"; + + if(env('SES_KEY') && env('SES_SECRET')) { + $oldMailOtherCredential = + 'SES_KEY='.config('services.ses.key')."\n". + 'SES_SECRET='.config('services.ses.secret')."\n\n"; + } + break; + + case 'mail': + $existMailData = 'MAIL_DRIVER='.$request->mail_driver."\n". + 'MAIL_HOST='.config('mail.host')."\n". + 'MAIL_PORT='.config('mail.port')."\n". + $oldMailCredential. + 'MAIL_ENCRYPTION='.config('mail.encryption')."\n\n". + 'MAIL_FROM_ADDRESS='.$request->from_mail."\n". + 'MAIL_FROM_NAME='.$request->from_name."\n\n". + $otherCredential; + break; + + case 'sendmail': + $existMailData = 'MAIL_DRIVER='.$request->mail_driver."\n". + 'MAIL_HOST='.config('mail.host')."\n". + 'MAIL_PORT='.config('mail.port')."\n". + $oldMailCredential. + 'MAIL_ENCRYPTION='.config('mail.encryption')."\n\n". + 'MAIL_FROM_ADDRESS='.$request->from_mail."\n". + 'MAIL_FROM_NAME='.$request->from_name."\n\n". + $otherCredential; + break; + + case 'mandrill': + $mailCredential = $oldMailCredential; + $otherCredential= + 'MANDRILL_API_KEY='.$request->mail_mandrill_secret."\n\n"; + + if(env('MANDRILL_API_KEY')) { + $oldMailOtherCredential = + 'MANDRILL_API_KEY='.config('services.mandrill.secret')."\n\n"; + } + break; + + default: + $mailCredential = "\n"; + $otherCredential = "\n"; + break; + } + + $oldMailData = + 'MAIL_DRIVER='.config('mail.driver')."\n". + 'MAIL_HOST='.config('mail.host')."\n". + 'MAIL_PORT='.config('mail.port')."\n". + $oldMailCredential. + 'MAIL_ENCRYPTION='.config('mail.encryption')."\n\n". + $oldMailOtherCredential; + + $newMailData = $existMailData ?? + 'MAIL_DRIVER='.$request->mail_driver."\n". + 'MAIL_HOST='.$request->mail_host."\n". + 'MAIL_PORT='.$request->mail_port."\n". + $mailCredential. + 'MAIL_ENCRYPTION='.$request->mail_encryption."\n\n". + 'MAIL_FROM_ADDRESS='.$request->from_mail."\n". + 'MAIL_FROM_NAME='.$request->from_name."\n\n". + $otherCredential; + + return [ + 'old_mail_data' => $oldMailData, + 'new_mail_data' => $newMailData + ]; + } + /** * * @param DatabaseEnvironmentRequest $request diff --git a/config/services.php b/config/services.php index bc4699d8..319fdc05 100644 --- a/config/services.php +++ b/config/services.php @@ -34,6 +34,10 @@ return [ 'api_key' => env('SENDGRID_API_KEY'), ], + 'mandrill' => [ + 'secret' => env('MANDRILL_API_KEY'), + ], + 'stripe' => [ 'model' => Crater\User::class, 'key' => env('STRIPE_KEY'), diff --git a/resources/assets/js/plugins/en.js b/resources/assets/js/plugins/en.js index 4dea2c36..9b56b1f3 100644 --- a/resources/assets/js/plugins/en.js +++ b/resources/assets/js/plugins/en.js @@ -565,9 +565,19 @@ export default { host: 'Mail Host', port: 'Mail Port', driver: 'Mail Driver', + domain: 'Domain', + secret: 'Secret', + sparkpost_secret: 'Sparkpost Secret', + mailgin_secret: 'Mailgun Secret', + ses_secret: 'SES Secret', + mandrill_secret: 'Mandrill Secret', + ses_key: 'SES Key', password: 'Mail Password', username: 'Mail Username', + endpoint: 'Mail Endpoint', mail_config: 'Mail Configuration', + from_name: 'From Mail Name', + from_mail: 'From Mail Address', encryption: 'Mail Encryption', mail_config_desc: 'Below details will be used to update the mail environment. Also you can change the details anytime after logging in.' }, diff --git a/resources/assets/js/views/settings/MailConfig.vue b/resources/assets/js/views/settings/MailConfig.vue index afbf481b..3ba22956 100644 --- a/resources/assets/js/views/settings/MailConfig.vue +++ b/resources/assets/js/views/settings/MailConfig.vue @@ -7,175 +7,49 @@ {{ $t('settings.mail.mail_config_desc') }}

-
-
-
- - * - -
- - {{ $tc('validation.required') }} - -
-
-
- - * - -
- - {{ $tc('validation.required') }} - -
-
-
-
-
- - * - -
- - {{ $tc('validation.required') }} - -
-
-
- - * - -
- - {{ $tc('validation.required') }} - -
-
-
-
-
- - * - -
- - {{ $tc('validation.required') }} - - - {{ $tc('validation.numbers_only') }} - -
-
-
- - * - -
- - {{ $tc('validation.required') }} - -
-
-
- + - {{ $t('general.save') }} - -
+ :mail-drivers="mail_drivers" + @on-change-driver="(val) => mail_driver = mailConfigData.mail_driver = val" + @submit-data="saveEmailConfig" + /> + diff --git a/resources/assets/js/views/settings/mailDriver/Mailgun.vue b/resources/assets/js/views/settings/mailDriver/Mailgun.vue new file mode 100644 index 00000000..7194463d --- /dev/null +++ b/resources/assets/js/views/settings/mailDriver/Mailgun.vue @@ -0,0 +1,276 @@ + + diff --git a/resources/assets/js/views/settings/mailDriver/Mandrill.vue b/resources/assets/js/views/settings/mailDriver/Mandrill.vue new file mode 100644 index 00000000..ce496984 --- /dev/null +++ b/resources/assets/js/views/settings/mailDriver/Mandrill.vue @@ -0,0 +1,228 @@ + + diff --git a/resources/assets/js/views/settings/mailDriver/Ses.vue b/resources/assets/js/views/settings/mailDriver/Ses.vue new file mode 100644 index 00000000..17f517de --- /dev/null +++ b/resources/assets/js/views/settings/mailDriver/Ses.vue @@ -0,0 +1,251 @@ + + diff --git a/resources/assets/js/views/settings/mailDriver/Smtp.vue b/resources/assets/js/views/settings/mailDriver/Smtp.vue new file mode 100644 index 00000000..84fa896e --- /dev/null +++ b/resources/assets/js/views/settings/mailDriver/Smtp.vue @@ -0,0 +1,251 @@ + + diff --git a/resources/assets/js/views/settings/mailDriver/Sparkpost.vue b/resources/assets/js/views/settings/mailDriver/Sparkpost.vue new file mode 100644 index 00000000..68f78611 --- /dev/null +++ b/resources/assets/js/views/settings/mailDriver/Sparkpost.vue @@ -0,0 +1,231 @@ + + From f0a995bfa0094de05fea2e523a8feb1980c949c3 Mon Sep 17 00:00:00 2001 From: raishvaria Date: Mon, 18 Nov 2019 18:44:15 +0530 Subject: [PATCH 3/3] add mail on wizard --- app/Space/EnvironmentManager.php | 21 +- resources/assets/js/plugins/en.js | 10 + .../js/views/settings/mailDriver/Basic.vue | 8 +- .../js/views/settings/mailDriver/Mailgun.vue | 32 +- .../js/views/settings/mailDriver/Mandrill.vue | 28 +- .../js/views/settings/mailDriver/Ses.vue | 30 +- .../js/views/settings/mailDriver/Smtp.vue | 30 +- .../views/settings/mailDriver/Sparkpost.vue | 28 +- .../js/views/wizard/EmailConfiguration.vue | 191 ++---------- .../js/views/wizard/mailDriver/Basic.vue | 156 ++++++++++ .../js/views/wizard/mailDriver/Mailgun.vue | 278 ++++++++++++++++++ .../js/views/wizard/mailDriver/Mandrill.vue | 230 +++++++++++++++ .../assets/js/views/wizard/mailDriver/Ses.vue | 253 ++++++++++++++++ .../js/views/wizard/mailDriver/Smtp.vue | 253 ++++++++++++++++ .../js/views/wizard/mailDriver/Sparkpost.vue | 233 +++++++++++++++ 15 files changed, 1532 insertions(+), 249 deletions(-) create mode 100644 resources/assets/js/views/wizard/mailDriver/Basic.vue create mode 100644 resources/assets/js/views/wizard/mailDriver/Mailgun.vue create mode 100644 resources/assets/js/views/wizard/mailDriver/Mandrill.vue create mode 100644 resources/assets/js/views/wizard/mailDriver/Ses.vue create mode 100644 resources/assets/js/views/wizard/mailDriver/Smtp.vue create mode 100644 resources/assets/js/views/wizard/mailDriver/Sparkpost.vue diff --git a/app/Space/EnvironmentManager.php b/app/Space/EnvironmentManager.php index 4f1bd799..456a0e0f 100755 --- a/app/Space/EnvironmentManager.php +++ b/app/Space/EnvironmentManager.php @@ -96,7 +96,7 @@ class EnvironmentManager { $mailData = $this->getMailData($request); - + dd($mailData); try { file_put_contents($this->envPath, str_replace( @@ -132,6 +132,10 @@ class EnvironmentManager 'MAIL_USERNAME='.config('mail.username')."\n". 'MAIL_PASSWORD='.config('mail.password')."\n"; + $resetCredential = + 'MAIL_USERNAME='."\n". + 'MAIL_PASSWORD='."\n"; + switch ($request->mail_driver) { case 'smtp': $mailCredential= @@ -140,7 +144,7 @@ class EnvironmentManager break; case 'mailgun': - $mailCredential = $oldMailCredential; + $mailCredential = $resetCredential; $otherCredential= 'MAILGUN_DOMAIN='.$request->mail_mailgun_domain."\n". 'MAILGUN_SECRET='.$request->mail_mailgun_secret."\n". @@ -156,7 +160,7 @@ class EnvironmentManager break; case 'sparkpost': - $mailCredential = $oldMailCredential; + $mailCredential = $resetCredential; $otherCredential= 'SPARKPOST_SECRET='.$request->mail_sparkpost_secret."\n\n"; @@ -167,7 +171,7 @@ class EnvironmentManager break; case 'ses': - $mailCredential = $oldMailCredential; + $mailCredential = $resetCredential; $otherCredential= 'SES_KEY='.$request->mail_ses_key."\n". 'SES_SECRET='.$request->mail_ses_secret."\n\n"; @@ -183,7 +187,7 @@ class EnvironmentManager $existMailData = 'MAIL_DRIVER='.$request->mail_driver."\n". 'MAIL_HOST='.config('mail.host')."\n". 'MAIL_PORT='.config('mail.port')."\n". - $oldMailCredential. + $resetCredential. 'MAIL_ENCRYPTION='.config('mail.encryption')."\n\n". 'MAIL_FROM_ADDRESS='.$request->from_mail."\n". 'MAIL_FROM_NAME='.$request->from_name."\n\n". @@ -194,7 +198,7 @@ class EnvironmentManager $existMailData = 'MAIL_DRIVER='.$request->mail_driver."\n". 'MAIL_HOST='.config('mail.host')."\n". 'MAIL_PORT='.config('mail.port')."\n". - $oldMailCredential. + $resetCredential. 'MAIL_ENCRYPTION='.config('mail.encryption')."\n\n". 'MAIL_FROM_ADDRESS='.$request->from_mail."\n". 'MAIL_FROM_NAME='.$request->from_name."\n\n". @@ -211,11 +215,6 @@ class EnvironmentManager 'MANDRILL_API_KEY='.config('services.mandrill.secret')."\n\n"; } break; - - default: - $mailCredential = "\n"; - $otherCredential = "\n"; - break; } $oldMailData = diff --git a/resources/assets/js/plugins/en.js b/resources/assets/js/plugins/en.js index 9b56b1f3..9358b746 100644 --- a/resources/assets/js/plugins/en.js +++ b/resources/assets/js/plugins/en.js @@ -743,9 +743,19 @@ export default { host: 'Mail Host', port: 'Mail Port', driver: 'Mail Driver', + domain: 'Domain', + secret: 'Secret', + sparkpost_secret: 'Sparkpost Secret', + mailgin_secret: 'Mailgun Secret', + ses_secret: 'SES Secret', + mandrill_secret: 'Mandrill Secret', + ses_key: 'SES Key', password: 'Mail Password', username: 'Mail Username', + endpoint: 'Mail Endpoint', mail_config: 'Mail Configuration', + from_name: 'From Mail Name', + from_mail: 'From Mail Address', encryption: 'Mail Encryption', mail_config_desc: 'Below details will be used to update the mail environment. Also you can change the details anytime after logging in.' }, diff --git a/resources/assets/js/views/settings/mailDriver/Basic.vue b/resources/assets/js/views/settings/mailDriver/Basic.vue index bb265378..2d4f4b84 100644 --- a/resources/assets/js/views/settings/mailDriver/Basic.vue +++ b/resources/assets/js/views/settings/mailDriver/Basic.vue @@ -2,7 +2,7 @@
- + *
+
+
+
+ + * + +
+ + {{ $tc('validation.required') }} + +
+
+
+ + * + +
+ + {{ $tc('validation.required') }} + +
+
+
+ + {{ $t('general.save') }} + +
+ + diff --git a/resources/assets/js/views/wizard/mailDriver/Mailgun.vue b/resources/assets/js/views/wizard/mailDriver/Mailgun.vue new file mode 100644 index 00000000..a6fa165c --- /dev/null +++ b/resources/assets/js/views/wizard/mailDriver/Mailgun.vue @@ -0,0 +1,278 @@ + + diff --git a/resources/assets/js/views/wizard/mailDriver/Mandrill.vue b/resources/assets/js/views/wizard/mailDriver/Mandrill.vue new file mode 100644 index 00000000..c7a60a59 --- /dev/null +++ b/resources/assets/js/views/wizard/mailDriver/Mandrill.vue @@ -0,0 +1,230 @@ + + diff --git a/resources/assets/js/views/wizard/mailDriver/Ses.vue b/resources/assets/js/views/wizard/mailDriver/Ses.vue new file mode 100644 index 00000000..9733fe1e --- /dev/null +++ b/resources/assets/js/views/wizard/mailDriver/Ses.vue @@ -0,0 +1,253 @@ + + diff --git a/resources/assets/js/views/wizard/mailDriver/Smtp.vue b/resources/assets/js/views/wizard/mailDriver/Smtp.vue new file mode 100644 index 00000000..8bbea8d9 --- /dev/null +++ b/resources/assets/js/views/wizard/mailDriver/Smtp.vue @@ -0,0 +1,253 @@ + + diff --git a/resources/assets/js/views/wizard/mailDriver/Sparkpost.vue b/resources/assets/js/views/wizard/mailDriver/Sparkpost.vue new file mode 100644 index 00000000..ae08d2ba --- /dev/null +++ b/resources/assets/js/views/wizard/mailDriver/Sparkpost.vue @@ -0,0 +1,233 @@ + +