Просмотр исходного кода

Adds DKIM + Other mail server settings in mail over view when hosting DNS not not within Hestia

Jaap Marcus 5 лет назад
Родитель
Сommit
5bcc2f507a
3 измененных файлов с 112 добавлено и 3 удалено
  1. 16 1
      web/list/mail/index.php
  2. 3 2
      web/templates/admin/list_mail.html
  3. 93 0
      web/templates/admin/list_mail_dns.html

+ 16 - 1
web/list/mail/index.php

@@ -1,5 +1,5 @@
 <?php
-error_reporting(NULL);
+#error_reporting(NULL);
 $TAB = 'MAIL';
 
 // Main include
@@ -13,6 +13,21 @@ if (empty($_GET['domain'])){
     unset($output);
 
     render_page($user, $TAB, 'list_mail');
+} else if (!empty($_GET['dns'])) {
+        exec (HESTIA_CMD."v-list-mail-domain ".escapeshellarg($user)." ".escapeshellarg($_GET['domain'])." json", $output, $return_var);
+        $data = json_decode(implode('', $output), true);
+        $data = array_reverse($data, true);
+        unset($output);
+        exec (HESTIA_CMD."v-list-user-ips ".escapeshellarg($user)." json", $output, $return_var);
+        $ips = json_decode(implode('', $output), true);
+        $ips = array_reverse($ips, true);
+        unset($output);
+        exec (HESTIA_CMD."v-list-mail-domain-dkim-dns ".escapeshellarg($user)." ".escapeshellarg($_GET['domain'])." json", $output, $return_var);
+        $dkim = json_decode(implode('', $output), true);
+        $dkim = array_reverse($dkim, true);
+        unset($output);
+
+        render_page($user, $TAB, 'list_mail_dns');
 } else {
     exec (HESTIA_CMD."v-list-mail-accounts ".escapeshellarg($user)." ".escapeshellarg($_GET['domain'])." json", $output, $return_var);
     $data = json_decode(implode('', $output), true);

+ 3 - 2
web/templates/admin/list_mail.html

@@ -52,7 +52,7 @@
               <input id="toggle-all" type="checkbox" name="toggle-all" value="toggle-all" onChange="checkedAll('objects');">
             </div>
             <div class="clearfix l-unit__stat-col--left wide-3"><b><?php print _('Domain');?></b></div>
-            <div class="clearfix l-unit__stat-col--left text-right compact-4"><b>&nbsp;</b></div>
+            <div class="clearfix l-unit__stat-col--left text-right compact-5"><b>&nbsp;</b></div>
             <div class="clearfix l-unit__stat-col--left text-center compact-2"><b><?php print _('Accounts');?></b></div>
             <div class="clearfix l-unit__stat-col--left text-center compact-2"><b><?php print _('Disk');?></b></div>
             <div class="clearfix l-unit__stat-col--left text-center compact-3"><b><?php print _('Antivirus');?></b></div>
@@ -96,11 +96,12 @@ sort-accounts="<?=$data[$key]['ACCOUNTS']?>" sort-star="<? if($_SESSION['favouri
                   </div>
                   <div class="clearfix l-unit__stat-col--left wide-3 truncate"><b><a href="?domain=<?=$key?>&token=<?=$_SESSION['token']?>" title="<?=_('mail accounts')?>: <?=$key?>"><?=$key?></a></b></div>
                   <!-- START QUICK ACTION TOOLBAR AREA -->
-                  <div class="clearfix l-unit__stat-col--left text-right compact-4">
+                  <div class="clearfix l-unit__stat-col--left text-right compact-5">
                       <div class="l-unit-toolbar__col l-unit-toolbar__col--right noselect">
                           <div class="actions-panel clearfix">
                             <div class="actions-panel__col actions-panel__logs shortcut-n" key-action="href"><a href="/add/mail/?domain=<?=$key?>&token=<?=$_SESSION['token']?>" title="<?=_('Add Mail Account')?>"><i class="fas fa-plus-circle status-icon green status-icon dim"></i></a></div>
                             <div class="actions-panel__col actions-panel__edit shortcut-l" key-action="href"><a href="?domain=<?=$key?>&token=<?=$_SESSION['token']?>" title="<?=_('mail accounts')?>"><i class="fas fa-users status-icon blue status-icon dim"></i></a></div>
+                            <div class="actions-panel__col actions-panel__edit shortcut-l" key-action="href"><a href="?domain=<?=$key?>&dns=1&token=<?=$_SESSION['token']?>" title="<?=_('DNS records mail')?>"><i class="fas fa-atlas status-icon blue status-icon dim"></i></a></div>
                             <div class="actions-panel__col actions-panel__edit" key-action="href"><a href="http://<?=$webmail;?>.<?=$key?>/" target="_blank" title="<?=_('open webmail')?>"><i class="fas fa-paper-plane status-icon lightblue status-icon dim"></i></a></div>
                             <div class="actions-panel__col actions-panel__logs shortcut-enter" key-action="href"><a href="/edit/mail/?domain=<?=$key?>&token=<?=$_SESSION['token']?>" title="<?=_('Editing Mail Domain')?>"><i class="fas fa-pencil-alt status-icon orange status-icon dim"></i></a></div>
 

+ 93 - 0
web/templates/admin/list_mail_dns.html

@@ -0,0 +1,93 @@
+<?php
+$v_webmail_alias = "webmail";
+if (!empty($_SESSION['WEBMAIL_ALIAS'])) $v_webmail_alias = $_SESSION['WEBMAIL_ALIAS'];
+?>
+<div class="l-center">
+  <div class="l-sort clearfix noselect">
+    <div class="l-unit-toolbar__buttonstrip">
+      <a class="ui-button cancel" id="btn-back" href="/list/mail/"><i class="fas fa-arrow-left status-icon blue"></i> <?=_('Back')?></a>
+    </div>
+    <div class="l-sort-toolbar clearfix">
+      <table>
+        <tr>
+          <td class="sort-by">
+             
+          </td>
+          <td class="l-sort-toolbar__search-box">
+            
+          </td>
+          <td>
+    
+          </td>
+        </tr>
+      </table>
+    </div>
+  </div>
+</div>
+
+<div class="l-separator"></div>
+
+<div class="l-center units animated fadeIn">
+    <div class="header table-header">     
+        <div class="l-unit__col l-unit__col--right">
+          <div>
+              <div class="clearfix l-unit__stat-col--left wide-3"><b><?php print _('Record');?></b></div>
+              <div class="clearfix l-unit__stat-col--left text-center"><b><?php print _('Type');?></b></div>
+              <div class="clearfix l-unit__stat-col--left text-center"><b><?php print _('Priority');?></b></div>
+              <div class="clearfix l-unit__stat-col--left text-center"><b><?php print _('TTL');?></b></div>
+              <div class="clearfix l-unit__stat-col--left wide-3"><b><?php print _('IP or Value');?></b></div>
+          </div>
+        </div>
+    </div>
+    <div class="l-unit">
+                    <div class="l-unit__col l-unit__col--right">
+                      <div class="clearfix l-unit__stat-col--left wide-3"><b><input type="text" class="vst-input" style="width:200px !important;" value="mail.<?=htmlspecialchars($_GET['domain']);?>"/></b> </div>
+                    <div class="clearfix l-unit__stat-col--left text-center"><b>A</b></div>
+                    <div class="clearfix l-unit__stat-col--left text-center"><b>10</b></div>
+                    <div class="clearfix l-unit__stat-col--left text-center"><b>14400</b></div>
+                    <div class="clearfix l-unit__stat-col--left wide-3"><b><input type="text" class="vst-input" value="<?php echo array_key_first($ips);?>"/></b></div>
+              </div>
+    </div>
+    <div class="l-unit">
+                  <div class="l-unit__col l-unit__col--right">
+                    <div class="clearfix l-unit__stat-col--left wide-3"><b><input type="text" class="vst-input" style="width:200px !important;" value="<?=$v_webmail_alias;?>.<?=htmlspecialchars($_GET['domain']);?>"/></b> </div>
+                  <div class="clearfix l-unit__stat-col--left text-center"><b>A</b></div>
+                  <div class="clearfix l-unit__stat-col--left text-center"><b>&nbsp;</b></div>
+                  <div class="clearfix l-unit__stat-col--left text-center"><b>14400</b></div>
+                  <div class="clearfix l-unit__stat-col--left wide-3"><b><input type="text" class="vst-input" value="<?php echo array_key_first($ips);?>"/></b></div>
+            </div>
+    </div>
+    <div class="l-unit">
+          <div class="l-unit__col l-unit__col--right">
+            <div class="clearfix l-unit__stat-col--left wide-3"><b><input type="text" class="vst-input" style="width:200px !important;" value="@"/></b> </div>
+          <div class="clearfix l-unit__stat-col--left text-center"><b>TXT</b></div>
+          <div class="clearfix l-unit__stat-col--left text-center"><b>&nbsp;</b></div>
+          <div class="clearfix l-unit__stat-col--left text-center"><b>14400</b></div>
+          <div class="clearfix l-unit__stat-col--left  wide-3 "><b><input type="text" class="vst-input" value="<?php echo htmlspecialchars('"v=spf1 a mx ip4:'.array_key_first($ips).'; -all"');?>"/></b></div>
+          </div>
+    </div>
+<?php foreach($dkim as $key => $value){ ?>
+<div class="l-unit">
+      <div class="l-unit__col l-unit__col--right">
+        <div class="clearfix l-unit__stat-col--left wide-3"><b><input type="text" class="vst-input" style="width:200px !important;" value="<?=htmlspecialchars($key);?>"/></b></div>
+      <div class="clearfix l-unit__stat-col--left text-center"><b>TXT</b></div>
+      <div class="clearfix l-unit__stat-col--left text-center"><b>&nbsp;</b></div>
+      <div class="clearfix l-unit__stat-col--left text-center"><b>3600</b></div>
+      <div class="clearfix l-unit__stat-col--left  wide-3 "><b><input type="text" class="vst-input" value="<?=htmlspecialchars(str_replace("'",'"',$dkim[$key]['TXT']));?>"</b></div>
+      </div>
+</div>
+<?php } ?>
+</div>
+<div id="vstobjects">
+  <div class="l-separator"></div>
+  <div class="l-center">
+    <div class="l-unit-ft">
+      <table class='data'></table>
+      <div class="data-count l-unit__col l-unit__col--right clearfix">
+    
+      </div>
+      <div class="data-count l-unit__col l-unit__col--right back clearfix">
+      </div>
+    </div>
+  </div>
+</div>