fix
This commit is contained in:
parent
9e66e7a3e1
commit
ecd16de53f
@ -12,6 +12,7 @@ class Email extends Component
|
||||
public InstanceSettings $settings;
|
||||
|
||||
protected $rules = [
|
||||
'settings.extra_attributes.smtp_active' => 'nullable|boolean',
|
||||
'settings.extra_attributes.smtp_host' => 'required',
|
||||
'settings.extra_attributes.smtp_port' => 'required|numeric',
|
||||
'settings.extra_attributes.smtp_encryption' => 'nullable',
|
||||
@ -22,6 +23,26 @@ class Email extends Component
|
||||
'settings.extra_attributes.smtp_from_address' => 'required|email',
|
||||
'settings.extra_attributes.smtp_from_name' => 'required',
|
||||
];
|
||||
protected $validationAttributes = [
|
||||
'settings.extra_attributes.smtp_from_address' => 'From Address',
|
||||
'settings.extra_attributes.smtp_from_name' => 'From Name',
|
||||
'settings.extra_attributes.smtp_recipients' => 'Recipients',
|
||||
'settings.extra_attributes.smtp_host' => 'Host',
|
||||
'settings.extra_attributes.smtp_port' => 'Port',
|
||||
'settings.extra_attributes.smtp_encryption' => 'Encryption',
|
||||
'settings.extra_attributes.smtp_username' => 'Username',
|
||||
'settings.extra_attributes.smtp_password' => 'Password',
|
||||
'settings.extra_attributes.smtp_test_recipients' => 'Test Recipients',
|
||||
];
|
||||
public function instantSave()
|
||||
{
|
||||
try {
|
||||
$this->submit();
|
||||
} catch (\Exception $e) {
|
||||
$this->settings->extra_attributes->smtp_active = false;
|
||||
$this->validate();
|
||||
}
|
||||
}
|
||||
public function test_email()
|
||||
{
|
||||
Notification::send($this->settings, new TestEmail);
|
||||
|
@ -12,11 +12,14 @@ class TransactionalEmailChannel
|
||||
{
|
||||
public function send(User $notifiable, Notification $notification): void
|
||||
{
|
||||
$settings = InstanceSettings::get();
|
||||
if ($settings->extra_attributes?->get('smtp_active') !== true) {
|
||||
return;
|
||||
}
|
||||
$email = $notifiable->email;
|
||||
if (!$email) {
|
||||
return;
|
||||
}
|
||||
$settings = InstanceSettings::get();
|
||||
$this->bootConfigs($settings);
|
||||
$mailMessage = $notification->toMail($notifiable);
|
||||
|
||||
|
@ -63,7 +63,7 @@ function generate_application_name(string $git_repository, string $git_branch)
|
||||
|
||||
function is_transactional_emails_active()
|
||||
{
|
||||
return data_get(InstanceSettings::get(), 'extra_attributes.smtp_host');
|
||||
return data_get(InstanceSettings::get(), 'extra_attributes.smtp_active');
|
||||
}
|
||||
|
||||
function set_transanctional_email_settings()
|
||||
|
@ -1,5 +1,5 @@
|
||||
<div>
|
||||
<form wire:submit.prevent='submit' class="flex flex-col">
|
||||
<form wire:submit.prevent='submit' class="flex flex-col pb-10">
|
||||
<div class="flex items-center gap-2">
|
||||
<h3>Transactional Emails</h3>
|
||||
<x-forms.button type="submit">
|
||||
@ -7,15 +7,20 @@
|
||||
</x-forms.button>
|
||||
</div>
|
||||
<div class="pt-2 pb-4 text-sm">SMTP settings for password resets, invitations, etc.</div>
|
||||
<div class="flex flex-col">
|
||||
<x-forms.checkbox instantSave id="settings.extra_attributes.smtp_active" label="Enabled" />
|
||||
</div>
|
||||
<div class="flex items-end gap-2">
|
||||
<x-forms.input id="settings.extra_attributes.smtp_test_recipients" label="Test Recipient(s)"
|
||||
helper="Email list to send a test email to, separated by comma." />
|
||||
<x-forms.button wire:click='test_email'>
|
||||
Send Test Email
|
||||
</x-forms.button>
|
||||
@if ($settings->extra_attributes->smtp_active)
|
||||
<x-forms.button wire:click='test_email'>
|
||||
Send Test Email
|
||||
</x-forms.button>
|
||||
@endif
|
||||
</div>
|
||||
<div class="flex flex-col gap-2 xl:flex-row">
|
||||
<div class="flex flex-col w-96">
|
||||
<div class="flex flex-col w-full">
|
||||
<x-forms.input required id="settings.extra_attributes.smtp_host" helper="SMTP Hostname"
|
||||
placeholder="smtp.mailgun.org" label="Host" />
|
||||
<x-forms.input required id="settings.extra_attributes.smtp_port" helper="SMTP Port" placeholder="587"
|
||||
@ -23,7 +28,7 @@
|
||||
<x-forms.input id="settings.extra_attributes.smtp_encryption"
|
||||
helper="If SMTP through SSL, set it to 'tls'." placeholder="tls" label="Encryption" />
|
||||
</div>
|
||||
<div class="flex flex-col w-96">
|
||||
<div class="flex flex-col w-full">
|
||||
<x-forms.input id="settings.extra_attributes.smtp_username" helper="SMTP Username"
|
||||
label="SMTP Username" />
|
||||
<x-forms.input id="settings.extra_attributes.smtp_password" type="password" helper="SMTP Password"
|
||||
@ -31,7 +36,7 @@
|
||||
<x-forms.input id="settings.extra_attributes.smtp_timeout" helper="Timeout value for sending emails."
|
||||
label="Timeout" />
|
||||
</div>
|
||||
<div class="flex flex-col w-96">
|
||||
<div class="flex flex-col w-full">
|
||||
<x-forms.input required id="settings.extra_attributes.smtp_from_name" helper="Name used in emails."
|
||||
label="From Name" />
|
||||
<x-forms.input required id="settings.extra_attributes.smtp_from_address"
|
||||
|
@ -24,12 +24,17 @@
|
||||
<h3 class="pb-4">Invite a new member</h3>
|
||||
@else
|
||||
<h3>Invite a new member</h3>
|
||||
<div class="pb-4 text-xs text-warning">You need to configure SMTP settings before you can invite a
|
||||
new
|
||||
member
|
||||
via
|
||||
email.
|
||||
</div>
|
||||
@if (auth()->user()->isInstanceAdmin())
|
||||
<div class="pb-4 text-xs text-warning">You need to configure <a href="/settings/emails"
|
||||
class="underline text-warning">Transactional Emails</a>
|
||||
before
|
||||
you can invite a
|
||||
new
|
||||
member
|
||||
via
|
||||
email.
|
||||
</div>
|
||||
@endif
|
||||
@endif
|
||||
<livewire:team.invite-link />
|
||||
</div>
|
||||
|
Loading…
x
Reference in New Issue
Block a user