diff --git a/mail/postfix/src/opnsense/mvc/app/controllers/OPNsense/Postfix/Api/DomainController.php b/mail/postfix/src/opnsense/mvc/app/controllers/OPNsense/Postfix/Api/DomainController.php index b64ce9f925..29c181214c 100644 --- a/mail/postfix/src/opnsense/mvc/app/controllers/OPNsense/Postfix/Api/DomainController.php +++ b/mail/postfix/src/opnsense/mvc/app/controllers/OPNsense/Postfix/Api/DomainController.php @@ -38,7 +38,7 @@ class DomainController extends ApiMutableModelControllerBase public function searchDomainAction() { - return $this->searchBase('domains.domain', array("enabled", "domainname", "destination")); + return $this->searchBase('domains.domain', array("enabled", "domainname", "transport", "destination")); } public function getDomainAction($uuid = null) diff --git a/mail/postfix/src/opnsense/mvc/app/controllers/OPNsense/Postfix/forms/dialogEditPostfixDomain.xml b/mail/postfix/src/opnsense/mvc/app/controllers/OPNsense/Postfix/forms/dialogEditPostfixDomain.xml index 128706a6cd..d3e9a30afb 100644 --- a/mail/postfix/src/opnsense/mvc/app/controllers/OPNsense/Postfix/forms/dialogEditPostfixDomain.xml +++ b/mail/postfix/src/opnsense/mvc/app/controllers/OPNsense/Postfix/forms/dialogEditPostfixDomain.xml @@ -11,6 +11,12 @@ text Set the unique domain name to relay for. + + domain.transport + + text + Set the transport method. If empty, smtp will be used. https://www.postfix.org/transport.5.html + domain.destination diff --git a/mail/postfix/src/opnsense/mvc/app/models/OPNsense/Postfix/Domain.xml b/mail/postfix/src/opnsense/mvc/app/models/OPNsense/Postfix/Domain.xml index a4af4ed775..68b788bb6a 100644 --- a/mail/postfix/src/opnsense/mvc/app/models/OPNsense/Postfix/Domain.xml +++ b/mail/postfix/src/opnsense/mvc/app/models/OPNsense/Postfix/Domain.xml @@ -1,7 +1,7 @@ //OPNsense/postfix/domain Postfix domain configuration - 1.0.1 + 1.1.0 @@ -13,6 +13,12 @@ Y + + + N + /^([0-9a-zA-Z.:\-\[\]]{0,63}[0-9a-zA-Z.\-\[\]])$/u + Only 64 of the following characters are allowed: 0-9a-zA-Z.:-[] and must not end with : + N diff --git a/mail/postfix/src/opnsense/mvc/app/views/OPNsense/Postfix/domain.volt b/mail/postfix/src/opnsense/mvc/app/views/OPNsense/Postfix/domain.volt index a98dd06557..82f0fb4ba4 100644 --- a/mail/postfix/src/opnsense/mvc/app/views/OPNsense/Postfix/domain.volt +++ b/mail/postfix/src/opnsense/mvc/app/views/OPNsense/Postfix/domain.volt @@ -58,6 +58,7 @@ POSSIBILITY OF SUCH DAMAGE. {{ lang._('Enabled') }} {{ lang._('Domain') }} + {{ lang._('Transport') }} {{ lang._('Destination') }} {{ lang._('ID') }} {{ lang._('Commands') }} diff --git a/mail/postfix/src/opnsense/service/templates/OPNsense/Postfix/transport b/mail/postfix/src/opnsense/service/templates/OPNsense/Postfix/transport index 8c058a0780..2ee04b7306 100644 --- a/mail/postfix/src/opnsense/service/templates/OPNsense/Postfix/transport +++ b/mail/postfix/src/opnsense/service/templates/OPNsense/Postfix/transport @@ -2,7 +2,11 @@ {% if helpers.exists('OPNsense.postfix.domain.domains.domain') %} {% for domain in helpers.toList('OPNsense.postfix.domain.domains.domain') %} {% if domain.enabled == '1' %} +{% if domain.transport|length > 0 %} +{{ domain.domainname }} {{domain.transport}}:{{domain.destination}} +{% else %} {{ domain.domainname }} smtp:{{ domain.destination }} +{% endif %} {% endif %} {% endfor %} {% endif %}