سؤال

ولقد حصلت على الأسهم نظام ديبيان إحفر، وذلك باستخدام Exim4. المجالات هي في معظمها المحلية ولكن هناك بعض التي هي جهاز التحكم عن بعد. للتعامل مع تسليم البريد البعيد يمكنني استخدام ملف التكوين ديبيان:

  /etc/exim4/hubbed_hosts

ويسرد هذا الملف على أسماء النطاقات، وآلات MX عن بعد لتسليم. على سبيل المثال:

  example.org:  mx.example.com
  example.com:  mx2.example.com

وإذا نظرنا إلى ملف التكوين exim4 أرى أن هذه تستخدم على النحو التالي:

hubbed_hosts:
  debug_print = "R: hubbed_hosts for $domain"
  driver = manualroute
  domains = "${if exists{CONFDIR/hubbed_hosts}\
                   {partial-lsearch;CONFDIR/hubbed_hosts}\
              fail}"
  route_data = ${lookup{$domain}partial-lsearch{CONFDIR/hubbed_hosts}}
  transport = remote_smtp

والقضية لدي هي أن <م> بعض من المضيفين أنا باستخدام ضرورة أن يكون البريد الخاصة بهم تسليمها إلى منفذ غير قياسي. للأسف لا تعمل ملف ديبيان hubbed_hosts إذا حاولت تغييره لتشمل المنفذ:

example.org: mx1.example.org:2525
example.com: 1.2.3.4.2525

هل من الممكن أن تسمح حيوي الميناء إلى أن تحدد؟

هل كانت مفيدة؟

المحلول 2

وكنت اتمنى لشيء أكثر من ذلك بقليل الديناميكية - ويعمل هذا الحل:

 port = ${if exists{/etc/exim4/ports.list}\
              {${lookup{$domain}lsearch{/etc/exim4/ports.list}\
              {$value}{25}}}{25}}

وبعد ذلك قد يكون ملف بسيط قائمة المنافذ على أساس لكل مجال:

   example.org: 2525
   example.com: 26

نصائح أخرى

وويدعم هذا الواقع افتراضيا دون أي تغيير في التكوين exim4 الخاصة بك.

في hubbed_hosts، يمكنك فصل المضيفين بنقطتين، وقمت بتحديد رقم المنفذ مع مزدوج القولون.     EX:

domain1: server1:server2::port:server3
domain2: server1::port
domain3: server1:server2

لمزيد من المعلومات راجع HTTP: / /www.exim.org/exim-html-current/doc/html/spec_html/ch20.html#SECID122

وربما يمكن أن تستخدم مشغل $ {استخراج} لتمكنك من الجمع بين أرقام المنافذ وأسماء المضيف، كما في المثال في سؤالك الأصلي.

وشيء من هذا القبيل (غير مجربة):

route_data = ${extract{1}{:}{${lookup{$domain}partial-lsearch{CONFDIR/hubbed_hosts}}}}

وجعل النقل الجديد الذي يحدد المنفذ

remote_hub_2525:
driver = smtp
port = 2525

ثم قم بإنشاء جهاز التوجيه للمجالات التي تحتاج إلى تسليم غير قياسي

non_standard_hub:
driver = manualroute
domains = example.org : example.com
transport = remote_hub_2525
no_more
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top