浏览代码

[Web] change MTA-STS id to human-readable timestamp

FreddleSpl0it 2 周之前
父节点
当前提交
ae8287c801
共有 1 个文件被更改,包括 11 次插入1 次删除
  1. 11 1
      data/web/inc/functions.mailbox.inc.php

+ 11 - 1
data/web/inc/functions.mailbox.inc.php

@@ -1407,7 +1407,7 @@ function mailbox($_action, $_type, $_data = null, $_extra = null) {
           $mx           = explode(",", preg_replace('/\s+/', '', $_data['mx']));
           $mx           = explode(",", preg_replace('/\s+/', '', $_data['mx']));
           $max_age      = intval($_data['max_age']);
           $max_age      = intval($_data['max_age']);
           $active       = (intval($_data['active']) == 1) ? 1 : 0;
           $active       = (intval($_data['active']) == 1) ? 1 : 0;
-          $id           = time();
+          $id           = date('YmdHis');
 
 
           if (!hasDomainAccess($_SESSION['mailcow_cc_username'], $_SESSION['mailcow_cc_role'], $domain)) {
           if (!hasDomainAccess($_SESSION['mailcow_cc_username'], $_SESSION['mailcow_cc_role'], $domain)) {
             $_SESSION['return'][] = array(
             $_SESSION['return'][] = array(
@@ -3846,6 +3846,16 @@ function mailbox($_action, $_type, $_data = null, $_extra = null) {
               $mx                    = (isset($_data['mx'])) ? explode(",", preg_replace('/\s+/', '', $_data['mx'])) : $is_now['mx'];
               $mx                    = (isset($_data['mx'])) ? explode(",", preg_replace('/\s+/', '', $_data['mx'])) : $is_now['mx'];
               $max_age               = (isset($_data['max_age'])) ? intval($_data['max_age']) : $is_now['max_age'];
               $max_age               = (isset($_data['max_age'])) ? intval($_data['max_age']) : $is_now['max_age'];
 
 
+              // Update ID if neccesary
+              if ($version != strtolower($is_now['version']) ||
+                  $mode != strtolower($is_now['mode']) ||
+                  $mx != $is_now['mx'] ||
+                  $max_age != $is_now['max_age']) {
+                $id           = date('YmdHis');
+              } else {
+                $id           = $is_now['id'];
+              }
+
             } else {
             } else {
               $_SESSION['return'][] = array(
               $_SESSION['return'][] = array(
                 'type' => 'danger',
                 'type' => 'danger',