Viewing File: /usr/local/cpanel/base/sharedjs/email_deliverability/views/manageDomainSPF.ptt

<div>
    <div class="row">
        <div class="col-xs-12 col-sm-11 col-md-9 retro-col-12">
            <div class="row">
                <!-- summary -->
                <div class="col-sm-4 col-md-4 pull-right hidden-xs">
                    <div class="section">
                        <ng-include src="resourcesPanelTemplate"></ng-include>
                    </div>
                </div>
                <!-- / summary -->

                <!-- manage domain -->
                <div class="col-xs-12 col-sm-8 col-md-8">
                    <form id="customizeSPFRecordForm" name="customizeSPFRecordForm">
                        <div class="panel panel-default">
                            <div class="panel-heading">
                                <div class="widget-title pull-left">
                                    [% locale.maketext('Customize an [output,abbr,SPF,Sender Policy Framework] Record')%]
                                </div>
                                <div class="pull-right flip">
                                    <button type="button"
                                        class="btn btn-default btn-xs"
                                        id="lnkshowHideHelp"
                                        ng-click="toggleHelp()">
                                        [% locale.maketext("Show/Hide Help") %]
                                        <i class="far fa-question-circle form-info-sign"></i>
                                    </button>
                                </div>
                                <div class="clearfix"></div>
                            </div>
                            <div class="panel-body">
                                <div class="form-group">
                                    <div class="row">
                                        <div class="col-xs-12">
                                            <p>[% locale.maketext("Customize the suggested [output,abbr,SPF,Sender Policy Framework] record for the “[_1]” domain.", "{{currentDomain.domain | htmlSafeString}}"); %]
                                        </div>
                                    </div>
                                </div>
                                <div class="form-group">
                                    <callout callout-type="warning" callout-heading="[% locale.maketext("Warning") %]" ng-if="nonPassPrefixesExist">
                                        <p>[% locale.maketext("Your domain‘s current [output,abbr,SPF,Sender Policy Framework] is more complex than what the interface supports. This interface only supports the addition of “Pass” mechanisms. The editor will attempt to preserve other mechanisms.") %]</p>
                                    </callout>
                                </div>
                                <div class="form-group">
                                    <div class="row">
                                        <div class="col-xs-12">
                                            <suggested-record-set
                                                id="currentRecordSet"
                                                record-type="spf"
                                                hide-extras
                                                record-zone-type="TXT"
                                                domain="currentDomain"
                                                always-current></suggested-record-set>
                                        </div>
                                    </div>
                                </div>
                                <div class="form-group" ng-if="currentDomain.recordsLoaded">
                                    <div class="row">
                                        <div class="col-xs-12">
                                            <suggested-record-set
                                            id="suggestedRecordSet"
                                            record-type="spf"
                                            record-zone-type="TXT"
                                            domain="currentDomain"
                                            hide-extras
                                            always-suggested></suggested-record-set>
                                        </div>
                                    </div>
                                </div>
                                <section class="form-section" ng-if="currentDomain.recordsLoaded">
                                    <h4 class="widget-title">[% locale.maketext('Domain Settings') %]</h4>
                                    <div class="form-group">
                                        <div class="row">
                                            <div class="col-xs-12">
                                                <toggle-label-info
                                                    for="additionalHosts"
                                                    label-text="[% locale.maketext('Additional Hosts') %]"
                                                    label-id="lblAdditionalHosts"
                                                    info-icon-id="icoAdditionalHosts"
                                                    info-block-id="txtAdditionalHosts"
                                                    show-info-block="{{showAllHelp}}">
                                                        [% locale.maketext('The server will approve all of the hosts that you define to send email. The server automatically includes your primary mail exchanger and any servers for which you created an [asis,MX] record.') %]
                                                </toggle-label-info>
                                            </div>
                                        </div>
                                        <div class="row">
                                            <div class="col-xs-12">
                                                <!-- Input Field-->
                                                <multi-field-editor
                                                    id="additionalHosts"
                                                    add-new-label="[% locale.maketext('Add A New “[_1]” Item','Host (+a)') %]"
                                                    ng-model="additionalHosts">
                                                        <multi-field-editor-item
                                                            ng-repeat="(key,value) in additionalHosts track by $index"
                                                            label="+a:"
                                                            label-for="additionalHosts_item_{{ :: key }}_input"
                                                            index="key"
                                                            id="additionalHosts_item_{{ :: key }}" >
                                                                <input
                                                                    id="additionalHosts_item_{{ :: key }}_input"
                                                                    name="additionalHosts_item_{{ :: key }}_input"
                                                                    type="text"
                                                                    class="form-control"
                                                                    placeholder="domain.com"
                                                                    required
                                                                    fqdn
                                                                    size="100"
                                                                    ng-model="additionalHosts[key]" />
                                                        </multi-field-editor-item>
                                                </multi-field-editor>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="form-group">
                                        <div class="row">
                                            <div class="col-xs-12">
                                                <toggle-label-info
                                                    for="additionalMXServers"
                                                    label-text="[% locale.maketext('Additional [asis,MX] Servers') %]"
                                                    label-id="lbladditionalMXServers"
                                                    info-icon-id="icoadditionalMXServers"
                                                    info-block-id="txtadditionalMXServers"
                                                    show-info-block="{{showAllHelp}}">
                                                        [% locale.maketext('This setting allows the server to approve all [asis,MX] entries for each domain that you specify to send email.') %]
                                                </toggle-label-info>
                                            </div>
                                        </div>
                                        <div class="row">
                                            <div class="col-xs-12">
                                                <!-- Input Field-->
                                                <multi-field-editor
                                                    id="additionalMXServers"
                                                    add-new-label="[% locale.maketext('Add A New “[_1]” Item','+mx') %]"
                                                    ng-model="additionalMXServers">
                                                        <multi-field-editor-item
                                                            ng-repeat="(key,value) in additionalMXServers track by $index"
                                                            label="+mx:"
                                                            label-for="additionalMXServers_item_{{ :: key }}_input"
                                                            index="key"
                                                            id="additionalMXServers_item_{{ :: key }}" >
                                                                <input
                                                                    id="additionalMXServers_item_{{ :: key }}_input"
                                                                    name="additionalMXServers_item_{{ :: key }}_input"
                                                                    type="text"
                                                                    class="form-control"
                                                                    placeholder="domain.com"
                                                                    fqdn
                                                                    required
                                                                    size="100"
                                                                    ng-model="additionalMXServers[key]" />
                                                        </multi-field-editor-item>
                                                </multi-field-editor>
                                            </div>
                                        </div>
                                    </div>
                                </section>
                                <section class="form-section" ng-if="currentDomain.recordsLoaded">
                                    <h4 class="widget-title">[% locale.maketext('[output,abbr,IP,Internet Protocol] Address Settings') %]</h4>
                                    <div class="form-group">
                                        <div class="row">
                                            <div class="col-xs-12">
                                                <toggle-label-info
                                                    for="additionalIPv4Addresses"
                                                    label-text="[% locale.maketext('Additional [asis,IP] Address Blocks (IPv4)') %]"
                                                    label-id="lbladditionalIPv4Addresses"
                                                    info-icon-id="icoadditionalIPv4Addresses"
                                                    info-block-id="txtadditionalIPv4Addresses"
                                                    show-info-block="{{showAllHelp}}">
                                                        [% locale.maketext('You [output,strong,must] specify the [output,abbr,IP,Internet Protocol] Address blocks in [output,abbr,CIDR,Classless Inter-Domain Routing] format or as an [output,abbr,IP,Internet Protocol] Address (for example, [asis,192.168.0.1] or [asis,127.0.0.1/32]).') %]
                                                </toggle-label-info>
                                            </div>
                                        </div>
                                        <div class="row">
                                            <div class="col-xs-12">
                                                <!-- Input Field-->
                                                <multi-field-editor
                                                    id="additionalIPv4Addresses"
                                                    add-new-label="[% locale.maketext('Add A New “[_1]” Item','+ip4') %]"
                                                    ng-model="additionalIPv4Addresses">
                                                        <multi-field-editor-item
                                                            ng-repeat="(key,value) in additionalIPv4Addresses track by $index"
                                                            label="+ip4:"
                                                            label-for="additionalIPv4Addresses_item_{{ :: key }}_input"
                                                            index="key"
                                                            id="additionalIPv4Addresses_item_{{ :: key }}" >
                                                                <input
                                                                    id="additionalIPv4Addresses_item_{{ :: key }}_input"
                                                                    name="additionalIPv4Addresses_item_{{ :: key }}_input"
                                                                    type="text"
                                                                    class="form-control"
                                                                    placeholder="192.168.0.1"
                                                                    required
                                                                    size="100"
                                                                    ng-model="additionalIPv4Addresses[key]" />
                                                        </multi-field-editor-item>
                                                </multi-field-editor>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="form-group">
                                        <div class="row">
                                            <div class="col-xs-12">
                                                <toggle-label-info
                                                    for="additionalIPv6Addresses"
                                                    label-text="[% locale.maketext('Additional [asis,IP] Address Blocks (IPv6)') %]"
                                                    label-id="lbladditionalIPv6Addresses"
                                                    info-icon-id="icoadditionalIPv6Addresses"
                                                    info-block-id="txtadditionalIPv6Addresses"
                                                    show-info-block="{{showAllHelp}}">
                                                        [% locale.maketext('You [output,strong,must] specify the [output,abbr,IP,Internet Protocol] Address blocks in [output,abbr,CIDR,Classless Inter-Domain Routing] format or as an [output,abbr,IP,Internet Protocol] Address (for example, [asis,2001:DB8:1a34:56cf::7] or [asis,2001:DB8::/32]).') %]
                                                </toggle-label-info>
                                            </div>
                                        </div>
                                        <div class="row">
                                            <div class="col-xs-12">
                                                <!-- Input Field-->
                                                <multi-field-editor
                                                    id="additionalIPv6Addresses"
                                                    add-new-label="[% locale.maketext('Add A New “[_1]” Item','+ip6') %]"
                                                    ng-model="additionalIPv6Addresses">
                                                        <multi-field-editor-item
                                                            ng-repeat="(key,value) in additionalIPv6Addresses track by $index"
                                                            label="+ip6:"
                                                            label-for="additionalIPv6Addresses_item_{{ :: key }}_input"
                                                            index="key"
                                                            id="additionalIPv6Addresses_item_{{ :: key }}" >
                                                                <input
                                                                    id="additionalIPv6Addresses_item_{{ :: key }}_input"
                                                                    name="additionalIPv6Addresses_item_{{ :: key }}_input"
                                                                    type="text"
                                                                    class="form-control"
                                                                    placeholder="2001:db8:1a34:56cf::/64"
                                                                    required
                                                                    size="100"
                                                                    ng-model="additionalIPv6Addresses[key]" />
                                                        </multi-field-editor-item>
                                                </multi-field-editor>
                                            </div>
                                        </div>
                                    </div>
                                </section>
                                <section class="form-section" ng-if="currentDomain.recordsLoaded">
                                    <h4 class="widget-title">[% locale.maketext('Additional Settings') %]</h4>
                                    <div class="form-group">
                                        <div class="row">
                                            <div class="col-xs-12">
                                                <toggle-label-info
                                                    for="additionalINCLUDEItems"
                                                    label-text="[% locale.maketext('Include List (INCLUDE)') %]"
                                                    label-id="lbladditionalINCLUDEItems"
                                                    info-icon-id="icoadditionalINCLUDEItems"
                                                    info-block-id="txtadditionalINCLUDEItems"
                                                    show-info-block="{{showAllHelp}}">
                                                        [% locale.maketext('The [output,abbr,SPF,Sender Policy Framework] settings for all hosts you specify in this list will be included with your SPF settings. This is useful if you will be sending mail though another service (e.g. mac.com, comcast.com, etc).') %]
                                                </toggle-label-info>
                                            </div>
                                        </div>
                                        <div class="row">
                                            <div class="col-xs-12">
                                                <!-- Input Field-->
                                                <multi-field-editor
                                                    id="additionalINCLUDEItems"
                                                    add-new-label="[% locale.maketext('Add A New “[_1]” Item','+include') %]"
                                                    ng-model="additionalINCLUDEItems">
                                                        <multi-field-editor-item
                                                            ng-repeat="(key,value) in additionalINCLUDEItems track by $index"
                                                            label="+include:"
                                                            label-for="additionalINCLUDEItems_item_{{ :: key }}_input"
                                                            index="key"
                                                            id="additionalINCLUDEItems_item_{{ :: key }}" >
                                                                <input
                                                                    id="additionalINCLUDEItems_item_{{ :: key }}_input"
                                                                    name="additionalINCLUDEItems_item_{{ :: key }}_input"
                                                                    type="text"
                                                                    class="form-control"
                                                                    placeholder="domain.com"
                                                                    zone-name
                                                                    required
                                                                    size="100"
                                                                    ng-model="additionalINCLUDEItems[key]" />
                                                        </multi-field-editor-item>
                                                </multi-field-editor>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="form-group">
                                        <div class="row">
                                            <div class="col-xs-12">
                                                <toggle-label-info
                                                    for="excludeAllOtherDomains"
                                                    label-text="[% locale.maketext('Exclude All Other Hosts (“[asis,-all]” Entry)') %]"
                                                    label-id="lblexcludeAllOtherDomains"
                                                    info-icon-id="icoexcludeAllOtherDomains"
                                                    info-block-id="txtexcludeAllOtherDomains"
                                                    show-info-block="{{showAllHelp}}">
                                                        [% locale.maketext('Select this checkbox to exclude all other hosts if you have entered all of the hosts that you wish to send mail for your domain.') %]
                                                </toggle-label-info>
                                            </div>
                                        </div>
                                        <div class="row">
                                            <div class="col-xs-12">
                                                <!-- Input Field-->
                                                <label>
                                                    <input type="checkbox" ng-click="toggleExcludeAllOtherDomains()" ng-model="excludeAllOtherDomains">
                                                    <span>[% locale.maketext('Use the “[asis,-all]” Entry') %]</span>
                                                </label>
                                            </div>
                                        </div>
                                    </div>
                                </section>
                                [%# Summary %]
                                <section class="form-section" ng-if="currentDomain.recordsLoaded">
                                    <h4 class="widget-title">[% locale.maketext('Preview of the Updated Record') %]</h4>
                                    <p>[% locale.maketext('The current configurations will update the new record to the following:') %]</p>
                                    <div class="form-group">
                                        <div class="row" >
                                            <div class="col-xs-12">
                                                [%# Not Authoritative %]
                                                <div callout callout-type="warning" ng-if="!hasNSAuthority('spf')">
                                                    <div>
                                                        <p ng-bind-html="noAuthorityMessage('spf')"></p>
                                                    </div>
                                                    <copy-field id="workingRecordCopyField" text="workingRecord"></copy-field>
                                                </div>
                                                [%# / Not Authoritative %]
                                                [%# Authoritative %]
                                                <div ng-if="hasNSAuthority('spf')">
                                                    <copy-field id="workingRecordCopyField" text="workingRecord"></copy-field>
                                                </div>
                                                [%# / Authoritative %]
                                            </div>
                                        </div>
                                    </div>
                                </section>
                            </div>
                            <div class="panel-footer" >
                                <div class="row">
                                    <div class="col-xs-12 col-sm-12 col-md-12 col-lg-8">
                                        <button cp-action="update()" ng-disabled="!customizeSPFRecordForm.$valid">
                                            [% locale.maketext("Install a Customized [output,abbr,SPF,Sender Policy Framework] Record") %]
                                        </button>
                                    </div>
                                    <div class="col-xs-12 col-sm-12 col-md-12 col-lg-4 text-right">
                                        <a id="btnCancelUpdate"
                                            type="button"
                                            class="btn btn-link"
                                            ng-href="#/manage?domain={{ :: currentDomain.domain | htmlSafeString }}"
                                            title="[% locale.maketext('Return to Manage the Domain.') %]">
                                            <i class="fas fa-arrow-left" aria-hidden="true"></i>
                                            [% locale.maketext('Go Back') %]
                                        </a>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </form>
                </div>
                <!-- / manage domain -->

                <!-- summary -->

                <div class="col-xs-12 hidden-sm hidden-lg hidden-md">
                    <div class="section">
                        <ng-include src="resourcesPanelTemplate"></ng-include>
                    </div>
                </div>
                <!-- / summary -->
            </div>
        </div>
    </div>
</div>
Back to Directory File Manager