NobGit
public nobgit read

NobMail

Based on mailcow: dockerized

Languages

Repository composition by tracked source files.

PHP
PHP 49% JavaScript 35% HTML 9% CSS 4% Shell 2% Python 1% Lua 0% Perl 0% Ruby 0% SCSS 0%
Create file Wiki Documentation
Clone
https://nobgit.com/orgs/nobgit/nobmail.git
ssh://[email protected]:2222/orgs/nobgit/nobmail.git

Commit

[Web] Allow to specify transport test rcpt

b3e3ab2e
andryyy <[email protected]> 5 years ago
data/web/inc/ajax/transport_check.php | 8 +++++++-
 data/web/inc/vars.inc.php             | 3 ---
 data/web/lang/lang.de.json            | 2 ++
 data/web/lang/lang.en.json            | 2 ++
 data/web/modals/admin.php             | 7 +++++++
 5 files changed, 18 insertions(+), 4 deletions(-)

Diff

diff --git a/data/web/inc/ajax/transport_check.php b/data/web/inc/ajax/transport_check.php
index 79216878..972bdc02 100644
--- a/data/web/inc/ajax/transport_check.php
+++ b/data/web/inc/ajax/transport_check.php
@@ -15,6 +15,12 @@ if (isset($_SESSION['mailcow_cc_role']) && $_SESSION['mailcow_cc_role'] == "admi
   else {
     $mail_from = "[email protected]";
   }
+  if (isset($_GET['mail_rcpt']) && filter_var($_GET['mail_rcpt'], FILTER_VALIDATE_EMAIL)) {
+    $mail_rcpt = $_GET['mail_rcpt'];
+  }
+  else {
+    $mail_rcpt = "[email protected]";
+  }
   if ($transport_type == 'transport-map') {
     $transport_details = transport('details', $transport_id);
     $nexthop = $transport_details['nexthop'];
@@ -130,7 +136,7 @@ if (isset($_SESSION['mailcow_cc_role']) && $_SESSION['mailcow_cc_role'] == "admi
     $mail->Port = $port;
     $mail->setFrom($mail_from, 'Mailer');
     $mail->Subject = 'A subject for a SMTP test';
-    $mail->addAddress($RELAY_TO, 'Joe Null');
+    $mail->addAddress($mail_rcpt, 'Joe Null');
     $mail->Body = 'This is our test body';
     $mail->send();
   }
diff --git a/data/web/inc/vars.inc.php b/data/web/inc/vars.inc.php
index 09743ec7..fe97537a 100644
--- a/data/web/inc/vars.inc.php
+++ b/data/web/inc/vars.inc.php
@@ -124,9 +124,6 @@ $SESSION_LIFETIME = 10800;
 // Label for OTP devices
 $OTP_LABEL = "mailcow UI";
 
-// Default "to" address in relay test tool
-$RELAY_TO = "[email protected]";
-
 // How long to wait (in s) for cURL Docker requests
 $DOCKER_TIMEOUT = 60;
 
diff --git a/data/web/lang/lang.de.json b/data/web/lang/lang.de.json
index 4ae6024d..105dac3f 100644
--- a/data/web/lang/lang.de.json
+++ b/data/web/lang/lang.de.json
@@ -273,6 +273,7 @@
         "regen_api_key": "API-Key regenerieren",
         "regex_maps": "Regex Maps",
         "relay_from": "Absenderadresse",
+        "relay_rcpt": "Empfängeradresse",
         "relay_run": "Test durchführen",
         "relayhosts": "Senderabhängige Transport Maps",
         "relayhosts_hint": "Erstellen Sie senderabhängige Transporte, um diese im Einstellungsdialog einer Domain auszuwählen.<br>\r\n  Der Transporttyp lautet immer \"smtp:\", verwendet TLS wenn angeboten und unterstützt kein wrapped TLS (SMTPS). Benutzereinstellungen bezüglich Verschlüsselungsrichtlinie werden beim Transport berücksichtigt.<br>\r\n  Gilt neben ausgewählter Domain auch für untergeordnete Alias-Domains.",
@@ -314,6 +315,7 @@
         "transport_dest_format": "Syntax: example.org, .example.org, *, [email protected] (mehrere Werte getrennt durch Komma einzugeben)",
         "transport_maps": "Transport Maps",
         "transports_hint": "→ Transport Maps <b>überwiegen</b> senderabhängige Transport Maps.<br>\r\n→ Transport Maps ignorieren Mailbox-Einstellungen für ausgehende Verschlüsselung. Eine serverweite TLS-Richtlinie wird jedoch angewendet.<br>\r\n→ Der Transport erfolgt immer via \"smtp:\", verwendet TLS wenn angeboten und unterstützt kein wrapped TLS (SMTPS).<br>\r\n→ Adressen, die mit \"/localhost$/\" übereinstimmen, werden immer via \"local:\" transportiert, daher sind sie von einer Zieldefinition \"*\" ausgeschlossen.<br>\r\n→ Die Authentifizierung wird anhand des \"Next hop\" Parameters ermittelt. Hierbei würde bei einem beispielhaften Wert \"[host]:25\" immer zuerst \"host\" abfragt und <b>erst im Anschluss</b> \"[host]:25\". Dieses Verhalten schließt die <b>gleichzeitige Verwendung</b> von Einträgen der Art \"host\" sowie \"[host]:25\" aus.",
+        "transport_test_rcpt_info": "→ Die Verwendung von [email protected] testet das Relay gegen ein fremdes Ziel.",
         "ui_footer": "Footer (HTML zulässig)",
         "ui_header_announcement": "Ankündigungen",
         "ui_header_announcement_active": "Ankündigung aktivieren",
diff --git a/data/web/lang/lang.en.json b/data/web/lang/lang.en.json
index 208b0545..329e891c 100644
--- a/data/web/lang/lang.en.json
+++ b/data/web/lang/lang.en.json
@@ -271,6 +271,7 @@
         "regen_api_key": "Regenerate API key",
         "regex_maps": "Regex maps",
         "relay_from": "\"From:\" address",
+        "relay_rcpt": "\"To:\" address",
         "relay_run": "Run test",
         "relayhosts": "Sender-dependent transports",
         "relayhosts_hint": "Define sender-dependent transports to be able to select them in a domains configuration dialog.<br>\r\n  The transport service is always \"smtp:\" and will therefore try TLS when offered. Wrapped TLS (SMTPS) is not supported. A users individual outbound TLS policy setting is taken into account.<br>\r\n  Affects selected domains including alias domains.",
@@ -312,6 +313,7 @@
         "transport_dest_format": "Syntax: example.org, .example.org, *, [email protected] (multiple values can be comma-separated)",
         "transport_maps": "Transport Maps",
         "transports_hint": "→ A transport map entry <b>overrules</b> a sender-dependent transport map</b>.<br>\r\n→ Outbound TLS policy settings per-user are ignored and can only be enforced by TLS policy map entries.<br>\r\n→ The transport service for defined transports is always \"smtp:\" and will therefore try TLS when offered. Wrapped TLS (SMTPS) is not supported.<br>\r\n→ Addresses matching \"/localhost$/\" will always be transported via \"local:\", therefore a \"*\" destination will not apply to those addresses.<br>\r\n→ To determine credentials for an exemplary next hop \"[host]:25\", Postfix <b>always</b> queries for \"host\" before searching for \"[host]:25\". This behavior makes it impossible to use \"host\" and \"[host]:25\" at the same time.",
+        "transport_test_rcpt_info": "→ Use [email protected] to test relaying to a foreign destination.",
         "ui_footer": "Footer (HTML allowed)",
         "ui_header_announcement": "Announcements",
         "ui_header_announcement_active": "Set announcement active",
diff --git a/data/web/modals/admin.php b/data/web/modals/admin.php
index e796d2e1..4b090999 100644
--- a/data/web/modals/admin.php
+++ b/data/web/modals/admin.php
@@ -222,6 +222,13 @@ if (!isset($_SESSION['mailcow_cc_role'])) {
                 <input type="text" class="form-control" name="mail_from" placeholder="[email protected]">
               </div>
             </div>
+            <div class="form-group">
+              <label class="control-label col-sm-2" for="mail_rcpt"><?=$lang['admin']['relay_rcpt'];?></label>
+              <div class="col-sm-10">
+                <input type="text" class="form-control" name="mail_rcpt" placeholder="[email protected]" value="[email protected]">
+                <p class="help-block"><?=$lang['admin']['transport_test_rcpt_info'];?></p>
+              </div>
+            </div>
             <div class="form-group">
               <div class="col-sm-offset-2 col-sm-10">
                 <button class="btn btn-default" id="test_transport" href="#"><?=$lang['admin']['relay_run'];?></button>