fuc/resources/views/tabler/admin/setting/email.tpl
2025-02-23 13:30:57 +08:00

469 lines
31 KiB
Smarty
Executable File

{include file='admin/header.tpl'}
<div class="page-wrapper">
<div class="container-xl">
<div class="page-header d-print-none text-white">
<div class="row align-items-center">
<div class="col">
<h2 class="page-title">
<span class="home-title">邮件设置</span>
</h2>
<div class="page-pretitle my-3">
<span class="home-subtitle">设置站点的邮件系统</span>
</div>
</div>
<div class="col-auto ms-auto d-print-none">
<div class="btn-list">
<a id="save-setting" href="#" class="btn btn-primary">
<i class="icon ti ti-device-floppy"></i>
保存
</a>
</div>
</div>
</div>
</div>
</div>
<div class="page-body">
<div class="container-xl">
<div class="row row-deck row-cards">
<div class="col-md-12">
<div class="card">
<div class="card-header">
<ul class="nav nav-tabs card-header-tabs" data-bs-toggle="tabs">
<li class="nav-item">
<a href="#email" class="nav-link active" data-bs-toggle="tab">邮件设置</a>
</li>
<li class="nav-item">
<a href="#limit" class="nav-link" data-bs-toggle="tab">发送限制</a>
</li>
<li class="nav-item">
<a href="#smtp" class="nav-link" data-bs-toggle="tab">SMTP</a>
</li>
<li class="nav-item">
<a href="#mailgun" class="nav-link" data-bs-toggle="tab">Mailgun</a>
</li>
<li class="nav-item">
<a href="#sendgrid" class="nav-link" data-bs-toggle="tab">Sendgrid</a>
</li>
<li class="nav-item">
<a href="#postal" class="nav-link" data-bs-toggle="tab">Postal</a>
</li>
<li class="nav-item">
<a href="#ses" class="nav-link" data-bs-toggle="tab">AWS SES</a>
</li>
<li class="nav-item">
<a href="#mailchimp" class="nav-link" data-bs-toggle="tab">Mailchimp</a>
</li>
<li class="nav-item">
<a href="#alibabacloud" class="nav-link" data-bs-toggle="tab">AlibabaCloud DM</a>
</li>
</ul>
</div>
<div class="card-body">
<div class="tab-content">
<div class="tab-pane active show" id="email">
<div class="card-body">
<div class="form-group mb-3 row">
<label class="form-label col-3 col-form-label">邮件服务提供商</label>
<div class="col">
<select id="email_driver" class="col form-select"
value="{$settings['email_driver']}">
<option value="none"
{if $settings['email_driver'] === "none"}selected{/if}>none
</option>
<option value="smtp"
{if $settings['email_driver'] === "smtp"}selected{/if}>smtp
</option>
<option value="mailgun"
{if $settings['email_driver'] === "mailgun"}selected{/if}>
mailgun
</option>
<option value="sendgrid"
{if $settings['email_driver'] === "sendgrid"}selected{/if}>
sendgrid
</option>
<option value="postal"
{if $settings['email_driver'] === "postal"}selected{/if}>
postal
</option>
<option value="ses"
{if $settings['email_driver'] === "ses"}selected{/if}>
ses
</option>
<option value="mailchimp"
{if $settings['email_driver'] === "mailchimp"}selected{/if}>
mailchimp
</option>
<option value="alibabacloud"
{if $settings['email_driver'] === "alibabacloud"}selected{/if}>
alibabacloud
</option>
</select>
</div>
</div>
<div class="form-group mb-3 row">
<label class="form-label col-3 col-form-label">测试邮件接收地址</label>
<input type="text" class="form-control" id="recipient" value="">
<div class="row my-3">
<div class="col">
<button id="test-email" class="btn btn-primary">发送测试邮件
</button>
</div>
</div>
</div>
</div>
</div>
<div class="tab-pane" id="limit">
<div class="card-body">
<div class="form-group mb-3 row">
<label class="form-label col-3 col-form-label">邮箱验证码有效期(秒)</label>
<div class="col">
<input id="email_verify_code_ttl" type="text" class="form-control"
value="{$settings['email_verify_code_ttl']}">
</div>
</div>
<div class="form-group mb-3 row">
<label class="form-label col-3 col-form-label">邮箱重设密码链接有效期(秒)</label>
<div class="col">
<input id="email_password_reset_ttl" type="text" class="form-control"
value="{$settings['email_password_reset_ttl']}">
</div>
</div>
<div class="form-group mb-3 row">
<label class="form-label col-3 col-form-label">单个IP每小时可请求的发信次数</label>
<div class="col">
<input id="email_request_ip_limit" type="text" class="form-control"
value="{$settings['email_request_ip_limit']}">
</div>
</div>
<div class="form-group mb-3 row">
<label class="form-label col-3 col-form-label">单个邮箱地址每小时可请求的发信次数</label>
<div class="col">
<input id="email_request_address_limit" type="text" class="form-control"
value="{$settings['email_request_address_limit']}">
</div>
</div>
</div>
</div>
<div class="tab-pane" id="smtp">
<div class="card-body">
<div class="form-group mb-3 row">
<label class="form-label col-3 col-form-label">Host</label>
<div class="col">
<input id="smtp_host" type="text" class="form-control"
value="{$settings['smtp_host']}">
</div>
</div>
<div class="form-group mb-3 row">
<label class="form-label col-3 col-form-label">Username</label>
<div class="col">
<input id="smtp_username" type="text" class="form-control"
value="{$settings['smtp_username']}">
</div>
</div>
<div class="form-group mb-3 row">
<label class="form-label col-3 col-form-label">Password</label>
<div class="col">
<input id="smtp_password" type="text" class="form-control"
value="{$settings['smtp_password']}">
</div>
</div>
<div class="form-group mb-3 row">
<label class="form-label col-3 col-form-label">Port</label>
<div class="col">
<select id="smtp_port" class="col form-select"
value="{$settings['smtp_port']}">
<option value="465"
{if $settings['smtp_port'] === "465"}selected{/if}>465
</option>
<option value="587"
{if $settings['smtp_port'] === "587"}selected{/if}>587
</option>
<option value="443"
{if $settings['smtp_port'] === "443"}selected{/if}>443
</option>
<option value="80"
{if $settings['smtp_port'] === "80"}selected{/if}>80
</option>
<option value="2525"
{if $settings['smtp_port'] === "2525"}selected{/if}>2525
</option>
<option value="25"
{if $settings['smtp_port'] === "25"}selected{/if}>25
</option>
</select>
</div>
</div>
<div class="form-group mb-3 row">
<label class="form-label col-3 col-form-label">Name</label>
<div class="col">
<input id="smtp_name" type="text" class="form-control"
value="{$settings['smtp_name']}">
</div>
</div>
<div class="form-group mb-3 row">
<label class="form-label col-3 col-form-label">Sener</label>
<div class="col">
<input id="smtp_sender" type="text" class="form-control"
value="{$settings['smtp_sender']}">
</div>
</div>
<div class="form-group mb-3 row">
<label class="form-label col-3 col-form-label">Enable TLS/SSL</label>
<div class="col">
<select id="smtp_ssl" class="col form-select"
value="{$settings['smtp_ssl']}">
<option value="0" {if ! $settings['smtp_ssl']}selected{/if}>False
</option>
<option value="1" {if $settings['smtp_ssl']}selected{/if}>True
</option>
</select>
</div>
</div>
<div class="form-group mb-3 row">
<label class="form-label col-3 col-form-label">BBC</label>
<div class="col">
<input id="smtp_bbc" type="text" class="form-control"
value="{$settings['smtp_bbc']}">
</div>
</div>
</div>
</div>
<div class="tab-pane" id="mailgun">
<div class="card-body">
<div class="form-group mb-3 row">
<label class="form-label col-3 col-form-label">Api Key</label>
<div class="col">
<input id="mailgun_key" type="text" class="form-control"
value="{$settings['mailgun_key']}">
</div>
</div>
<div class="form-group mb-3 row">
<label class="form-label col-3 col-form-label">Domain</label>
<div class="col">
<input id="mailgun_domain" type="text" class="form-control"
value="{$settings['mailgun_domain']}">
</div>
</div>
<div class="form-group mb-3 row">
<label class="form-label col-3 col-form-label">Sender</label>
<div class="col">
<input id="mailgun_sender" type="text" class="form-control"
value="{$settings['mailgun_sender']}">
</div>
</div>
<div class="form-group mb-3 row">
<label class="form-label col-3 col-form-label">Sender Name</label>
<div class="col">
<input id="mailgun_sender_name" type="text" class="form-control"
value="{$settings['mailgun_sender_name']}">
</div>
</div>
</div>
</div>
<div class="tab-pane" id="sendgrid">
<div class="card-body">
<div class="form-group mb-3 row">
<label class="form-label col-3 col-form-label">Api Key</label>
<div class="col">
<input id="sendgrid_key" type="text" class="form-control"
value="{$settings['sendgrid_key']}">
</div>
</div>
<div class="form-group mb-3 row">
<label class="form-label col-3 col-form-label">Sender</label>
<div class="col">
<input id="sendgrid_sender" type="text" class="form-control"
value="{$settings['sendgrid_sender']}">
</div>
</div>
<div class="form-group mb-3 row">
<label class="form-label col-3 col-form-label">Name</label>
<div class="col">
<input id="sendgrid_name" type="text" class="form-control"
value="{$settings['sendgrid_name']}">
</div>
</div>
</div>
</div>
<div class="tab-pane" id="postal">
<div class="card-body">
<div class="form-group mb-3 row">
<label class="form-label col-3 col-form-label">Host</label>
<div class="col">
<input id="postal_host" type="text" class="form-control"
value="{$settings['postal_host']}">
</div>
</div>
<div class="form-group mb-3 row">
<label class="form-label col-3 col-form-label">Api Key</label>
<div class="col">
<input id="postal_key" type="text" class="form-control"
value="{$settings['postal_key']}">
</div>
</div>
<div class="form-group mb-3 row">
<label class="form-label col-3 col-form-label">Sender</label>
<div class="col">
<input id="postal_sender" type="text" class="form-control"
value="{$settings['postal_sender']}">
</div>
</div>
<div class="form-group mb-3 row">
<label class="form-label col-3 col-form-label">Name</label>
<div class="col">
<input id="postal_name" type="text" class="form-control"
value="{$settings['postal_name']}">
</div>
</div>
</div>
</div>
<div class="tab-pane" id="ses">
<div class="card-body">
<div class="form-group mb-3 row">
<label class="form-label col-3 col-form-label">Access Key ID</label>
<div class="col">
<input id="aws_ses_access_key_id" type="text" class="form-control"
value="{$settings['aws_ses_access_key_id']}">
</div>
</div>
<div class="form-group mb-3 row">
<label class="form-label col-3 col-form-label">Access Key Secret</label>
<div class="col">
<input id="aws_ses_access_key_secret" type="text" class="form-control"
value="{$settings['aws_ses_access_key_secret']}">
</div>
</div>
<div class="form-group mb-3 row">
<label class="form-label col-3 col-form-label">Region</label>
<div class="col">
<input id="aws_ses_region" type="text" class="form-control"
value="{$settings['aws_ses_region']}">
</div>
</div>
<div class="form-group mb-3 row">
<label class="form-label col-3 col-form-label">Sender</label>
<div class="col">
<input id="aws_ses_sender" type="text" class="form-control"
value="{$settings['aws_ses_sender']}">
</div>
</div>
</div>
</div>
<div class="tab-pane" id="mailchimp">
<div class="card-body">
<div class="form-group mb-3 row">
<label class="form-label col-3 col-form-label">Api Key</label>
<div class="col">
<input id="mailchimp_key" type="text" class="form-control"
value="{$settings['mailchimp_key']}">
</div>
</div>
<div class="form-group mb-3 row">
<label class="form-label col-3 col-form-label">From Email</label>
<div class="col">
<input id="mailchimp_from_email" type="text" class="form-control"
value="{$settings['mailchimp_from_email']}">
</div>
</div>
<div class="form-group mb-3 row">
<label class="form-label col-3 col-form-label">From Name</label>
<div class="col">
<input id="mailchimp_from_name" type="text" class="form-control"
value="{$settings['mailchimp_from_name']}">
</div>
</div>
</div>
</div>
<div class="tab-pane" id="alibabacloud">
<div class="card-body">
<div class="form-group mb-3 row">
<label class="form-label col-3 col-form-label">Access Key ID</label>
<div class="col">
<input id="alibabacloud_dm_access_key_id" type="text" class="form-control"
value="{$settings['alibabacloud_dm_access_key_id']}">
</div>
</div>
<div class="form-group mb-3 row">
<label class="form-label col-3 col-form-label">Access Key Secret</label>
<div class="col">
<input id="alibabacloud_dm_access_key_secret" type="text" class="form-control"
value="{$settings['alibabacloud_dm_access_key_secret']}">
</div>
</div>
<div class="form-group mb-3 row">
<label class="form-label col-3 col-form-label">Endpoint</label>
<div class="col">
<input id="alibabacloud_dm_endpoint" type="text" class="form-control"
value="{$settings['alibabacloud_dm_endpoint']}">
</div>
</div>
<div class="form-group mb-3 row">
<label class="form-label col-3 col-form-label">Account Name</label>
<div class="col">
<input id="alibabacloud_dm_account_name" type="text" class="form-control"
value="{$settings['alibabacloud_dm_account_name']}">
</div>
</div>
<div class="form-group mb-3 row">
<label class="form-label col-3 col-form-label">From Alias</label>
<div class="col">
<input id="alibabacloud_dm_from_alias" type="text" class="form-control"
value="{$settings['alibabacloud_dm_from_alias']}">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
$("#save-setting").click(function () {
$.ajax({
url: '/admin/setting/email',
type: 'POST',
dataType: "json",
data: {
{foreach $update_field as $key}
{$key}: $('#{$key}').val(),
{/foreach}
},
success: function (data) {
if (data.ret === 1) {
$('#success-message').text(data.msg);
$('#success-dialog').modal('show');
} else {
$('#fail-message').text(data.msg);
$('#fail-dialog').modal('show');
}
}
})
});
$("#test-email").click(function () {
$.ajax({
url: '/admin/setting/test/email',
type: 'POST',
dataType: "json",
data: {
recipient: $('#recipient').val(),
},
success: function (data) {
if (data.ret === 1) {
$('#success-noreload-message').text(data.msg);
$('#success-noreload-dialog').modal('show');
} else {
$('#fail-message').text(data.msg);
$('#fail-dialog').modal('show');
}
}
})
});
</script>
{include file='admin/footer.tpl'}