Viewing File: /usr/local/cpanel/base/sharedjs/email_deliverability/views/manageDomain.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>
                        <div class="panel panel-default">
                            <div class="panel-heading">
                                <div class="widget-title">
                                    [% locale.maketext('Manage The Domain')%]
                                </div>
                            </div>
                            <div class="panel-body">
                                <div class="form-group">
                                    <div class="row">
                                        <div class="col-xs-12">
                                            <label id="lblEmail" for="lblEmailAccount">
                                                [% locale.maketext('Domain') %]
                                            </label>
                                        </div>
                                        <div class="col-xs-12">
                                            <span id="lblEmailAccount" class="wordbreak">
                                                {{currentDomain.domain | htmlSafeString}}
                                            </span>
                                        </div>
                                    </div>
                                </div>
                                <div class="form-group" ng-if="currentDomain.recordsLoaded && ptrServerName != currentDomain.domain && !skipPTRLookups">
                                    <div class="row">
                                        <div class="col-xs-12">
                                            <toggle-label-info
                                                for="MailHeloDescriptor"
                                                label-text="[% locale.maketext('Mail [asis,HELO]') %]"
                                                label-id="lblMailHeloDescriptor"
                                                info-icon-id="icoMailHeloDescriptor"
                                                info-block-id="txtMailHeloDescriptor"
                                                show-info-block="{{showAllHelp}}">
                                                    [% locale.maketext('The name by which the server identifies itself when sending mail from “[_1]”.', '{{currentDomain.domain | htmlSafeString}}') %]
                                            </toggle-label-info>
                                        </div>
                                        <div class="col-xs-12">
                                            <span id="lblHelo" class="wordbreak">
                                                {{ ptrServerName | htmlSafeString }}
                                            </span>
                                        </div>
                                    </div>
                                </div>

                                <cp-loading-panel ng-if="!currentDomain.recordsLoaded" id="loadingDomainStatus">[% locale.maketext('Loading …') %]</cp-loading-panel>

                                <div ng-if="currentDomain.recordsLoaded">
                                    [%# DKIM %]

                                    <section class="form-section">
                                        <h4 class="widget-title">
                                            DKIM
                                            <span record-status class="pull-right" id="dkimRecordStatus" records="['dkim']" domain="currentDomain"></span>
                                        </h4>

                                        [%# NS Error %]
                                        <div ng-if="errors.dkim" callout callout-type="danger">
                                            <p>{{ errors.dkim }}</p>
                                        </div>
                                        [%# / NS Error %]

                                        <div ng-if="!errors.dkim && !localDKIMExists()">
                                            <div callout callout-type="warning" callout-heading="[% locale.maketext('Warning:') %]" role="alert">
                                                <p>[% locale.maketext("A [asis,DKIM] key for “[_1]” does not exist on the local server.", "{{ currentDomain.domain | htmlSafeString}}") %]</p>
                                                <button cp-action="ensureLocalDKIMKeyExists()" class="btn btn-sm btn-primary">
                                                    [% locale.maketext("Generate Local [asis,DKIM] Key") %]
                                                </button>
                                            </div>
                                        </div>

                                        <div ng-if="!errors.dkim && localDKIMExists()">
                                            [%# Invalid %]
                                            <div ng-if="!isRecordValid('dkim')">
                                                [%# Authoritative %]
                                                <div>
                                                    <p ng-bind-html="badConfigurationMessage('dkim', currentDomain.domain)"></p>
                                                    <p>[% locale.maketext("To properly configure your [output,acronym,DKIM,DomainKeys Identified Mail] key, the record [output,strong,must] use this server’s [output,acronym,DKIM,DomainKeys Identified Mail] key.") %]</p>
                                                    [%# Not Authoritative %]
                                                    <div callout callout-type="warning" ng-if="!hasNSAuthority('dkim')">
                                                        <p ng-bind-html="noAuthorityMessage('dkim')"></p>
                                                    </div>
                                                    [%# / Not Authoritative %]
                                                    <suggested-record-set id="dkimSuggestedRecordSet" splitable="true" record-type="dkim" record-zone-type="TXT" domain="currentDomain"></suggested-record-set>
                                                    <button ng-disabled="showConfirmDKIM" ng-click="toggleShowConfirmDKIM()" class="btn btn-sm btn-primary" >
                                                        [% locale.maketext("Install the Suggested Record") %]
                                                    </button>
                                                    [%# Other DKIM Warning %]
                                                    <div callout callout-type="danger" callout-heading="[% locale.maketext('Danger:') %]" role="alert" ng-show="showConfirmDKIM">
                                                        <p>[% locale.maketext("If you send email from another server, you [output,strong,must] use this server’s [output,acronym,DKIM,DomainKeys Identified Mail] key on the remote server.") %]</p>
                                                        <button cp-action="repairRecord('dkim')" class="btn btn-sm btn-primary">
                                                            [% locale.maketext("Install the Suggested Record") %]
                                                        </button>
                                                        <button ng-click="toggleShowConfirmDKIM()" class="btn btn-sm btn-secondary">
                                                            [% locale.maketext("Cancel") %]
                                                        </button>
                                                    </div>
                                                    [%# / Other DKIM Warning %]
                                                </div>
                                                [%# / Authoritative %]
                                            </div>
                                            [%# / Invalid %]

                                            [%# Valid %]
                                            <div ng-if="isRecordValid('dkim')" >
                                                <p ng-bind="validRecordMessage('dkim', currentDomain.domain)"></p>
                                                <suggested-record-set id="dkimSuggestedRecordSet" splitable="true" record-type="dkim" record-zone-type="TXT" domain="currentDomain"></suggested-record-set>
                                            </div>
                                            [%# / Valid %]
                                        </div>
                                    </section>
                                    [%# / DKIM %]

                                    [%# SPF %]

                                    <section class="form-section">
                                        <h4 class="widget-title">
                                            [% locale.maketext("SPF") %]
                                            <span record-status class="pull-right" id="spfRecordStatus" records="['spf']" domain="currentDomain"></span>
                                        </h4>

                                        [%# NS Error %]
                                        <div ng-if="errors.spf" callout callout-type="danger">
                                            <p>{{ errors.spf }}</p>
                                        </div>
                                        [%# / NS Error %]

                                        [%# Invalid %]
                                        <div ng-if="!errors.spf && !isRecordValid('spf')">
                                            <div>
                                                <p ng-bind-html="badConfigurationMessage('spf', currentDomain.domain)"></p>
                                                [%# Other SPF Warning %]
                                                <div>
                                                    <p>[% locale.maketext("To properly configure your [output,abbr,SPF,Sender Policy Framework] record, you [output,strong,must] include the following mechanisms:") %] <pre ng-bind="currentDomain.getExpectedMatch('spf')"></pre></p>
                                                    [%# Not Authoritative %]
                                                    <div callout callout-type="warning" ng-if="!hasNSAuthority('spf')">
                                                        <p ng-bind-html="noAuthorityMessage('spf')"></p>
                                                    </div>
                                                    [%# / Not Authoritative %]
                                                    <suggested-record-set id="spfSuggestedRecordSet" record-type="spf" record-zone-type="TXT" domain="currentDomain"></suggested-record-set>
                                                    <button cp-action="repairRecord('spf')" class="btn btn-sm btn-secondary">
                                                        [% locale.maketext("Install the Suggested Record") %]
                                                    </button>
                                                </div>
                                                [%# / Other SPF Warning %]
                                            </div>
                                        </div>
                                        [%# / Invalid %]

                                        [%# Valid %]
                                        <div ng-if="isRecordValid('spf')" >
                                            <p ng-bind="validRecordMessage('spf', currentDomain.domain)"></p>
                                            <suggested-record-set id="spfSuggestedRecordSet" record-type="spf" record-zone-type="TXT" domain="currentDomain"></suggested-record-set>
                                        </div>
                                        [%# / Valid %]

                                    </section>
                                    [%# / SPF %]

                                    [%# DMARC %]

                                    <section class="form-section">
                                        <h4 class="widget-title">
                                            [% locale.maketext("DMARC") %]
                                            <span record-status class="pull-right" id="dmarcRecordStatus" records="['dmarc']" domain="currentDomain"></span>
                                        </h4>

                                        [%# NS Error %]
                                        <div ng-if="errors.dmarc" callout callout-type="danger">
                                            <p>{{ errors.dmarc }}</p>
                                        </div>
                                        [%# / NS Error %]

                                        [%# Invalid %]
                                        <div ng-if="!errors.dmarc && !isRecordValid('dmarc')">
                                            <div>
                                                <p ng-bind-html="badConfigurationMessage('dmarc', currentDomain.domain)"></p>
                                                [%# Other DMARC Warning %]
                                                <div>
                                                    <p>[% locale.maketext("For DMARC to work correctly, your domain [output,strong,must] have valid [output,abbr,SPF,Sender Policy Framework] and [output,acronym,DKIM,DomainKeys Identified Mail] records. Use the following default policy to add a basic DMARC policy to your domain:") %]</p>
                                                    [%# Not Authoritative %]
                                                    <div callout callout-type="warning" ng-if="!hasNSAuthority('dmarc')">
                                                        <p ng-bind-html="noAuthorityMessage('dmarc')"></p>
                                                    </div>
                                                    [%# / Not Authoritative %]
                                                    <suggested-record-set id="dmarcSuggestedRecordSet" record-type="dmarc" record-zone-type="TXT" domain="currentDomain"></suggested-record-set>
                                                    <button cp-action="repairRecord('dmarc')" class="btn btn-sm btn-secondary">
                                                        [% locale.maketext("Install the Suggested Record") %]
                                                    </button>
                                                </div>
                                                [%# / Other DMARC Warning %]
                                            </div>
                                        </div>
                                        [%# / Invalid %]

                                        [%# Valid %]
                                        <div ng-if="isRecordValid('dmarc')" > 
                                            <p ng-bind="validRecordMessage('dmarc', currentDomain.domain)"></p>
                                            <suggested-record-set id="dmarcSuggestedRecordSet" record-type="dmarc" record-zone-type="TXT" domain="currentDomain"></suggested-record-set>
                                        </div>
                                        [%# / Valid %]

                                    </section>
                                    [%# / DMARC %]

                                    [%# PTR %]
                                    <section class="form-section" ng-if="ptrServerName && !skipPTRLookups">
                                        <h4 class="widget-title">
                                            [% locale.maketext("Reverse [asis,DNS] ([asis,PTR])") %]
                                            <span record-status class="pull-right" id="ptrRecordStatus" records="['ptr']" domain="currentDomain"></span>
                                        </h4>

                                        <div callout callout-type="info" ng-if="!errors.ptr && ptrServerName != currentDomain.domain">
                                            <p>
                                                [% locale.maketext("The system uses an alternate [asis,HELO] of “[_1]” when sending mail from the “[_2]” domain.", "{{ ptrServerName | htmlSafeString }}", "{{ currentDomain.domain | htmlSafeString }}") %]
                                            </p>
                                        </div>

                                        [%# NS Error %]
                                        <div ng-if="errors.ptr" callout callout-type="danger">
                                            <p>{{ errors.ptr }}</p>
                                        </div>
                                        [%# / NS Error %]

                                        [%# Invalid %]
                                        <div ng-if="!errors.ptr && !isRecordValid('ptr')">

                                            [%# Not Authoritative %]
                                            <div callout callout-type="warning">
                                                <div ng-if="ptrStatusCode === 'IP_IS_PRIVATE'">
                                                    <p>
                                                        [% locale.maketext('The system sends this domain’s outgoing mail from a private [asis,IP] address, “[_1]”. Reverse [asis,DNS] does not work with private [asis,IP] addresses because [asis,DNS] does not store [asis,PTR] records for them.', '{{ptrServerIP}}') %]
                                                    </p>

                                                    <p>
                                                        [% locale.maketext('The server may be misconfigured.') %]
                                                        <span ng-if="isWhm">[% locale.maketext('Ensure that this server’s [asis,IP] configuration, including the [output,acronym,NAT,Network Address Translation] configuration, is correct.') %]</span>
                                                        <span ng-if="!isWhm">[% locale.maketext('For more information, contact your system administrator.') %]</span>
                                                    </p>
                                                </div>

                                                <div ng-if="ptrStatusCode !== 'IP_IS_PRIVATE'">
                                                    <p ng-repeat="msg in badPTRMessages" ng-bind-html="msg"></p>

                                                    <ul ng-if="badPTRNames">
                                                        <li ng-repeat="name in badPTRNames | orderBy" ng-bind="name"></li>
                                                    </ul>

                                                    <p ng-bind-html="ptrToFixMessage"></p>

                                                    <suggested-record-set ng-if="ptrStatusCode !== 'PTR_MISMATCH'" id="ptrSuggestedRecordSet" record-type="ptr" record-zone-type="PTR" domain="currentDomain"></suggested-record-set>
                                                </div>

                                            </div>
                                            [%# / Not Authoritative %]

                                        </div>
                                        [%# / Invalid %]

                                        [%# Valid %]
                                        <div ng-if="isRecordValid('ptr')">
                                            <p ng-bind="validRecordMessage('ptr', currentDomain.domain)"></p>
                                            <suggested-record-set id="ptrSuggestedRecordSet" record-type="ptr" record-zone-type="PTR" domain="currentDomain"></suggested-record-set>
                                        </div>
                                        [%# / Valid %]

                                    </section>
                                    [%# / PTR %]
                                </div>

                            </div>
                            <div class="panel-footer" style="text-align:right" ng-if="canReturnToLister">
                                <a id="btnCancelUpdate"
                                    type="button"
                                    class="btn btn-link"
                                    href="#/"
                                    title="[% locale.maketext('Return to the List of Domains.') %]">
                                    <i class="fas fa-arrow-left" aria-hidden="true"></i>
                                    [% locale.maketext('Go Back') %]
                                </a>
                            </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