mirror of
https://forge.dns-witch.net/dns-witch/nomilo.git
synced 2026-06-25 09:42:20 +02:00
266 lines
12 KiB
HTML
266 lines
12 KiB
HTML
<h2>{{ tr(msg="record-config-mail-heading", name=new_record_name, lang=lang) }}</h2>
|
|
|
|
<form method="post" action="">
|
|
<h3>{{ tr(msg="record-config-section-mail", attr="servers", lang=lang) }}</h3>
|
|
|
|
<div class="form-input">
|
|
{{
|
|
form::input(
|
|
id="mailservers-ttl",
|
|
name="mailservers[ttl]",
|
|
value=input_data.mailservers.ttl | default(value=""),
|
|
type="number",
|
|
errors=errors,
|
|
errors_keys=[ "/mailservers/ttl" ],
|
|
error_msg_id="record-input-ttl",
|
|
description=tr(msg="record-input-ttl", attr="help", lang=lang),
|
|
label=tr(msg="record-input-ttl", attr="input-label", lang=lang),
|
|
label_attributes=[],
|
|
attributes=[],
|
|
)
|
|
}}
|
|
</div>
|
|
|
|
{%- for mailserver in input_data.mailservers.data.mailservers | default(value=[""]) -%}
|
|
<fieldset class="group" data-new-item-template="mailserver">
|
|
<legend>
|
|
<span data-new-item-template-content="{{ tr(msg="record-input-mailservers-fieldset", attr="legend", index="{i}", lang=lang) }}">
|
|
{{ tr(msg="record-input-mailservers-fieldset", attr="legend", index=loop.index, lang=lang) }}
|
|
</span>
|
|
<button type="button" class="icon" data-delete-item>
|
|
{{ icons::trash() }}
|
|
<span class="visually-hidden" data-new-item-template-content="{{ tr(msg="record-input-mailservers-fieldset", attr="delete-button", index="{i}", lang=lang) }}">
|
|
{{ tr(msg="record-input-mailservers-fieldset", attr="delete-button", index=loop.index, lang=lang) }}
|
|
</span>
|
|
</button>
|
|
</legend>
|
|
|
|
{% set mailserver_error = errors | get(key="/mailservers/data", default="") %}
|
|
{% if mailserver_error %}
|
|
<p class="error" id="mailserver-fieldset-error">
|
|
{{ tr(
|
|
msg="record-input-mailservers-fieldset",
|
|
attr="error-" ~ mailserver_error.code | replace(from=":", to="-"),
|
|
lang=lang) }}
|
|
</p>
|
|
{% set extra_errors = "mailserver-fieldset-error" %}
|
|
{% else %}
|
|
{% set extra_errors = "" %}
|
|
{% endif %}
|
|
|
|
<div class="form-input">
|
|
{{
|
|
form::input(
|
|
id="mailserver-mail_exchanger-" ~ loop.index0,
|
|
name="mailservers[data][mailservers][" ~loop.index0 ~ "][mail_exchanger]",
|
|
value=mailserver.mail_exchanger | default(value=""),
|
|
type="text",
|
|
errors=errors,
|
|
errors_keys=["/mailservers/data/mailservers/" ~ loop.index0 ~ "/mail_exchanger"],
|
|
error_msg_id="record-input-mailservers-server-name",
|
|
extra_errors=extra_errors,
|
|
label=tr(msg="record-input-mailservers-server-name", attr="input-label", lang=lang),
|
|
label_attributes=[
|
|
"data-new-item-template-attr", "for",
|
|
"data-template-for", "mailserver-mail_exchanger-{i}",
|
|
],
|
|
attributes=[
|
|
"data-new-item-template-attr", "name id",
|
|
"data-template-name", "mailservers[data][mailservers][{i}][mail_exchanger]",
|
|
"data-template-id", "mailserver-mail_exchanger-{i}",
|
|
]
|
|
)
|
|
}}
|
|
|
|
{{
|
|
form::input(
|
|
id="mailserver-preference-" ~ loop.index0,
|
|
name="mailservers[data][mailservers][" ~loop.index0 ~ "][preference]",
|
|
value=mailserver.preference | default(value=""),
|
|
type="text",
|
|
errors=errors,
|
|
errors_keys=["/mailservers/data/mailservers/" ~ loop.index0 ~ "/preference"],
|
|
error_msg_id="record-input-mailservers-preference",
|
|
extra_errors=extra_errors,
|
|
label=tr(msg="record-input-mailservers-preference", attr="input-label", lang=lang),
|
|
label_attributes=[
|
|
"data-new-item-template-attr", "for",
|
|
"data-template-for", "mailserver-preference-{i}",
|
|
],
|
|
attributes=[
|
|
"data-new-item-template-attr", "name id",
|
|
"data-template-name", "mailservers[data][mailservers][{i}][preference]",
|
|
"data-template-id", "mailserver-preference-{i}",
|
|
]
|
|
)
|
|
}}
|
|
</div>
|
|
|
|
</fieldset>
|
|
{%- endfor -%}
|
|
|
|
<button class="form-new-item" type="button" data-new-item="mailserver">
|
|
{{ icons::plus_circle() }}
|
|
{{ tr(msg="button-add-mailserver", lang=lang) }}
|
|
</button>
|
|
|
|
<h3>{{ tr(msg="record-config-section-mail", attr="security", lang=lang) }}</h3>
|
|
|
|
<fieldset class="group">
|
|
<legend>{{ tr(msg="record-input-spf-fieldset", attr="legend", lang=lang) }}</legend>
|
|
<div class="form-input">
|
|
{{
|
|
form::input(
|
|
id="spf-policy",
|
|
name="spf[data][policy]",
|
|
value=input_data.spf.data.policy | default(value=""),
|
|
type="number",
|
|
errors=errors,
|
|
errors_keys=[ "/spf/data/policy" ],
|
|
error_msg_id="record-input-spf",
|
|
label=tr(msg="record-input-spf", attr="input-label", lang=lang),
|
|
label_attributes=[],
|
|
attributes=[],
|
|
)
|
|
}}
|
|
|
|
{{
|
|
form::input(
|
|
id="spf-ttl",
|
|
name="spf[ttl]",
|
|
value=input_data.spf.ttl | default(value=""),
|
|
type="number",
|
|
errors=errors,
|
|
errors_keys=[ "/spf/ttl" ],
|
|
error_msg_id="record-input-ttl",
|
|
description=tr(msg="record-input-ttl", attr="help", lang=lang),
|
|
label=tr(msg="record-input-ttl", attr="input-label", lang=lang),
|
|
label_attributes=[],
|
|
attributes=[],
|
|
)
|
|
}}
|
|
</div>
|
|
</fieldset>
|
|
|
|
<fieldset class="group">
|
|
<legend>{{ tr(msg="record-input-dmarc-fieldset", attr="legend", lang=lang) }}</legend>
|
|
<div class="form-input">
|
|
{{
|
|
form::input(
|
|
id="dmarc-policy",
|
|
name="dmarc[data][policy]",
|
|
value=input_data.dmarc.data.policy | default(value=""),
|
|
type="number",
|
|
errors=errors,
|
|
errors_keys=[ "/dmarc/data/policy" ],
|
|
error_msg_id="record-input-dmarc",
|
|
label=tr(msg="record-input-dmarc", attr="input-label", lang=lang),
|
|
label_attributes=[],
|
|
attributes=[],
|
|
)
|
|
}}
|
|
|
|
{{
|
|
form::input(
|
|
id="dmarc-ttl",
|
|
name="dmarc[ttl]",
|
|
value=input_data.dmarc.ttl | default(value=""),
|
|
type="number",
|
|
errors=errors,
|
|
errors_keys=[ "/dmarc/ttl" ],
|
|
error_msg_id="record-input-ttl",
|
|
description=tr(msg="record-input-ttl", attr="help", lang=lang),
|
|
label=tr(msg="record-input-ttl", attr="input-label", lang=lang),
|
|
label_attributes=[],
|
|
attributes=[],
|
|
)
|
|
}}
|
|
</div>
|
|
</fieldset>
|
|
|
|
<h3>{{ tr(msg="record-config-section-mail", attr="dkim", lang=lang) }}</h3>
|
|
|
|
<div class="form-input">
|
|
{{
|
|
form::input(
|
|
id="dkim-ttl",
|
|
name="dkim_keys[ttl]",
|
|
value=input_data.dkim_keys.ttl | default(value=""),
|
|
type="number",
|
|
errors=errors,
|
|
errors_keys=[ "/dkim_keys/ttl" ],
|
|
error_msg_id="record-input-ttl",
|
|
description=tr(msg="record-input-ttl", attr="help", lang=lang),
|
|
label=tr(msg="record-input-ttl", attr="input-label", lang=lang),
|
|
label_attributes=[],
|
|
attributes=[],
|
|
)
|
|
}}
|
|
</div>
|
|
|
|
{%- for dkim in input_data.dkim_keys.data.dkim_keys | default(value=[""]) -%}
|
|
<fieldset class="group" data-new-item-template="dkim-key">
|
|
<legend data-new-item-template-content="{{ tr(msg="record-input-dkim-fieldset", attr="legend", index="{i}", lang=lang) }}">
|
|
{{ tr(msg="record-input-dkim-fieldset", attr="legend", index=1, lang=lang) }}
|
|
</legend>
|
|
|
|
<div class="form-input">
|
|
{{
|
|
form::input(
|
|
id="dkim-selector-" ~ loop.index0,
|
|
name="dkim_keys[data][dkim_keys][" ~loop.index0 ~ "][selector]",
|
|
value=dkim.selector | default(value=""),
|
|
type="text",
|
|
errors=errors,
|
|
errors_keys=[ "/dkim_keys/data/dkim_keys/" ~ loop.index0 ~ "/selector" ],
|
|
error_msg_id="record-input-dkim-selector",
|
|
label=tr(msg="record-input-dkim-selector", attr="input-label", lang=lang),
|
|
label_attributes=[
|
|
"data-new-item-template-attr", "for",
|
|
"data-template-for", "dkim-selector-{i}",
|
|
],
|
|
attributes=[
|
|
"data-new-item-template-attr", "name id",
|
|
"data-template-name", "dkim_keys[data][dkim_keys][{i}][selector]",
|
|
"data-template-id", "dkim-selector-{i}",
|
|
]
|
|
)
|
|
}}
|
|
|
|
{{
|
|
form::input(
|
|
id="dkim-key-" ~ loop.index0,
|
|
name="dkim_keys[data][dkim_keys][" ~loop.index0 ~ "][key]",
|
|
value=dkim.key | default(value=""),
|
|
type="textarea",
|
|
errors=errors,
|
|
errors_keys=[
|
|
"/dkim_keys/data/dkim_keys/" ~ loop.index0 ~ "/key",
|
|
],
|
|
error_msg_id="record-input-dkim-signing-key",
|
|
label=tr(msg="record-input-dkim-signing-key", attr="input-label", lang=lang),
|
|
label_attributes=[
|
|
"data-new-item-template-attr", "for",
|
|
"data-template-for", "dkim-key-{i}",
|
|
],
|
|
attributes=[
|
|
"data-new-item-template-attr", "name id",
|
|
"data-template-name", "dkim_keys[data][dkim_keys][{i}][key]",
|
|
"data-template-id", "dkim-key-{i}",
|
|
]
|
|
)
|
|
}}
|
|
</div>
|
|
</fieldset>
|
|
{%- endfor -%}
|
|
|
|
<button class="form-new-item" type="button" data-new-item="dkim-key">
|
|
{{ icons::plus_circle() }}
|
|
{{ tr(msg="button-add-dkim-key", lang=lang) }}
|
|
</button>
|
|
|
|
|
|
<div class="form-action">
|
|
<button type="submit">{{ tr(msg="button-save-configuration", lang=lang) }}</button>
|
|
</div>
|
|
</form>
|