Viewing File: /usr/local/cpanel/base/frontend/jupiter/mail/email_routing.html.tt
[%
USE LinkedNode;
SET worker_data = LinkedNode.get_basic_worker_data();
SET has_mail_linkage = 0;
FOR worker IN worker_data;
IF worker.worker_type == 'Mail';
has_mail_linkage = 1;
END;
END;
SET CPANEL.CPVAR.dprefix = "../";
IF !has_mail_linkage;
Api2.pre_exec("Email", "listmaildomains");
SET mail_domains = Api2.exec("Email", "listmaildomains", {} );
Api2.post_exec("Email", "listmaildomains");
js_code = PROCESS js_block;
page_css = PROCESS css_block;
END;
%]
[% WRAPPER '_assets/master.html.tt'
app_key = 'email_routing'
page_js = js_code
embed_scripts = !has_mail_linkage ? [ 'js2/mail/mx.js' ] : []
page_styles = page_css
%]
<div class="body-content">
<p class="description" id="descMx">
[% locale.maketext("Route a domain’s incoming mail to a specific server. For more information, read the [output,url,_1,documentation,target,_2,id,_3].", "//go.cpanel.net/EmailRouting", "_blank", "lnkMxEntryDocumentation") %]
</p>
[% IF has_mail_linkage %]
<div class="alert alert-info">
<span class="glyphicon glyphicon-info-sign"></span>
<div class="alert-message">
[% locale.maketext('This feature is disabled.') %]
</div>
</div>
[% ELSE %]
<div class="alert alert-info">
<span class="glyphicon glyphicon-info-sign"></span>
<div class="alert-message">
[% locale.maketext("[output,strong,Note:] To manage [asis,MX] records, use the new [output,url,_1,Zone Editor].","../zone_editor/index.html") %]
</div>
</div>
<input type="hidden" name="mxcheck_state" value="auto" id="mxcheck_state">
<input type="hidden" name="detected_state" value="remote" id="detected_state">
<div class="section">
<div class="form-group">
<div class="row">
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
<label class="control-label">[% locale.maketext("Domain") %]</label>
</div>
</div>
<div class="row" id="domain_selection">
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
[% IF mail_domains.size() == "1" %]
<p class="form-control-static">[% mail_domains.0.domain.html() %] <input type="hidden" id="domain" value="[% mail_domains.0.domain.html() %]" /></p>
[% ELSE %]
<select id="domain" class="form-control">
<option value="_select_">[% locale.maketext("Select a domain.") %]</option>
[% IF mail_domains.size() %]
[% FOREACH domain_info IN mail_domains %]
<option value="[% domain_info.domain.html() %]">[% domain_info.domain.html() %]</option>
[% END %]
[% END %]
</select>
[% END %]
</div>
</div>
</div>
</div>
<div id="mx_input_and_table" [% IF (CPANEL.CPVAR.item('maildomainscount') > "1") %]style="display: none"[% END %] >
<div class="section">
<div id="mxcheck_options_div">
<label class="control-label">[% locale.maketext("Configure Email Routing") %]</label>
<div class="form-group routing-group">
<label id="mxcheck_auto_label">
<input type="radio" name="mxcheck" id="mxcheck_auto" value="auto" />
<span>[% locale.maketext("Automatically Detect Configuration") %]</span>
</label>
<span class="status" id="mxcheck_auto_current_setting" style="font-weight: bold"></span>
([% locale.maketext("recommended") %])
<button id="mxcheck_auto_toggle" class="btn btn-link" role="button">
<div id="auto_toggle_more" class="toggle_more_link">[% locale.maketext("More") %]<span class="far fa-caret-square-down fa-lg"></span></div>
<div id="auto_toggle_less" class="toggle_less_link">[% locale.maketext("Less") %]<span class="far fa-caret-square-up fa-lg"></span></div>
</button>
<div id="mxcheck_auto_desc" class="callout callout-info toggle-description less">
<p>[% locale.maketext('The system uses the following criteria to detect the email routing settings:') %]</p>
<ul class="mxcheck_autolist" id="listMxCheck">
<li>
<em>[% locale.maketext("Local Mail Exchanger") %]</em>
<span id="mxcheck_detected_state_local"></span>
<p>
[% locale.maketext("Lowest numbered mail exchanger points to an [asis,IP] address on this server.") %]
</p>
</li>
<li>
<em>[% locale.maketext("Backup Mail Exchanger") %]</em>
<span id="mxcheck_detected_state_secondary"></span>
<p>
[% locale.maketext("Lowest numbered mail exchanger points to an [asis,IP] address [output,strong,not] on this server.") %]
</p>
</li>
<li>
<em>[% locale.maketext("Remote Mail Exchanger") %]</em>
<span id="mxcheck_detected_state_remote"></span>
<p>
[% locale.maketext("No mail exchangers point to an [asis,IP] address on this server.") %]
</p>
</li>
</ul>
<p>
[% locale.maketext("[output,strong,Note:] Automatic detection is [output,strong,not] possible if the configured [asis,MX] records do not resolve.") %]
</p>
</div>
</div>
<div class="form-group routing-group">
<label id="mxcheck_local_label">
<input type="radio" name="mxcheck" id="mxcheck_local" value="local" />
<span>[% locale.maketext("Local Mail Exchanger") %]</span>
</label>
<button id="mxcheck_local_toggle" class="btn btn-link" role="button">
<div id="local_toggle_more" class="toggle_more_link">[% locale.maketext("More") %]<span class="far fa-caret-square-down fa-lg"></span></div>
<div id="local_toggle_less" class="toggle_less_link">[% locale.maketext("Less") %]<span class="far fa-caret-square-up fa-lg"></span></div>
</button>
<div id="mxcheck_local_desc" class="callout callout-info toggle-description less">
<p class="highlight-accordian-desc" id="descConfigMailServer">
[% locale.maketext("The server will always accept mail for this domain. The system will deliver mail to the local mailbox.") %]
</p>
</div>
</div>
<div class="form-group routing-group">
<label id="mxcheck_secondary_label">
<input type="radio" name="mxcheck" id="mxcheck_secondary" value="secondary" />
<span>[% locale.maketext("Backup Mail Exchanger") %]</span>
</label>
<button id="mxcheck_secondary_toggle" class="btn btn-link" role="button">
<div id="secondary_toggle_more" class="toggle_more_link">[% locale.maketext("More") %]<span class="far fa-caret-square-down fa-lg"></span></div>
<div id="secondary_toggle_less" class="toggle_less_link">[% locale.maketext("Less") %]<span class="far fa-caret-square-up fa-lg"></span></div>
</button>
<div id="mxcheck_secondary_desc" class="callout callout-info toggle-description less">
<p class="highlight-accordian-desc" id="descConfigMailExchangeBackup">
[% locale.maketext("The server will act as a backup mail exchanger. The system will hold mail for this domain until a lower number mail exchanger is available.") %]
</p>
</div>
</div>
<div class="form-group routing-group">
<label id="mxcheck_remote_label">
<input type="radio" name="mxcheck" id="mxcheck_remote" value="remote" />
<span>[% locale.maketext("Remote Mail Exchanger") %]</span>
</label>
<button id="mxcheck_remote_toggle" class="btn btn-link" role="button">
<div id="remote_toggle_more" class="toggle_more_link">[% locale.maketext("More") %]<span class="far fa-caret-square-down fa-lg"></span></div>
<div id="remote_toggle_less" class="toggle_less_link">[% locale.maketext("Less") %]<span class="far fa-caret-square-up fa-lg"></span></div>
</button>
<div id="mxcheck_remote_desc" class="callout callout-info toggle-description less">
<p class="highlight-accordian-desc" id="descConfigNoMail">
[% locale.maketext("The server will not accept mail for this domain. The system sends all mail for this domain to the lowest numbered mail exchanger.") %]
</p>
</div>
</div>
<div class="form-group" id="submit_button_group">
<input class="btn btn-primary" type="button" value="[% locale.maketext("Change") %]" id="change_mxcheck_button" />
<span class="help-block" id="txtHelpBlock">[% locale.maketext("Current setting is shown in [output,strong,bold].") %]</span>
<span id="mxcheck_status"></span>
</div>
</div>
</div>
<div id="error_message_box" class="alert alert-danger">
<span class="glyphicon glyphicon-remove-sign"></span>
<div id="error_message_text" class="alert-message"></div>
</div>
[% END %]
</div><!-- end mx_input_and_table -->
</div><!-- end body-content -->
[% END %]
[% BLOCK css_block %]
<style type="text/css">
.control-label {
margin-bottom: 14px;
font-size: 18px;
}
html[dir=ltr] #mx_input_and_table div.form-group,
html[dir=ltr] #domain_selection label.control-label,
html[dir=ltr] #domain_selection p.form-control-static {
padding-left: 15px;
}
html[dir=rtl] #mx_input_and_table div.form-group,
html[dir=rtl] #domain_selection label.control-label,
html[dir=rtl] #domain_selection p.form-control-static {
padding-right: 15px;
}
#mx_input_and_table div#submit_button_group {
padding-left: 5px;
padding-right: 5px;
}
#error_message_box {
display: none;
}
html[dir=ltr] #mxcheck_options_div label span {
padding-left: 5px;
}
html[dir=rtl] #mxcheck_options_div label span {
padding-right: 5px;
}
html[dir=ltr] div.toggle_more_link span.far,
html[dir=ltr] div.toggle_less_link span.far {
margin-left: 5px;
}
html[dir=rtl] div.toggle_more_link span.far,
html[dir=rtl] div.toggle_less_link span.far {
margin-right: 5px;
}
.toggle_more_link {
display: inline;
}
.toggle_less_link {
display: none;
}
.toggle-description {
max-height: 600px;
overflow: hidden;
margin-top: 0;
margin-bottom: 0;
padding-top: 8px;
padding-bottom: 5px;
-webkit-transition: all 0.25s;
transition: all 0.25s;
}
.less {
padding-top: 0;
padding-bottom: 0;
max-height: 0;
}
.routing-group {
margin-bottom: 5px;
}
</style>
[% END %]
[% BLOCK js_block %]
<script type="text/javascript">
var LANG = {
MX_changing : "[% locale.maketext('Changing …') %]",
MX_current_detected_setting : "[% locale.maketext('Current Detected Setting') %]",
MX_Local : "[% locale.maketext('Local') %]",
MX_Backup : "[% locale.maketext('Backup') %]",
MX_Remote : "[% locale.maketext('Remote') %]"
};
</script>
[% END %]
Back to Directory
File Manager