سؤال

أقوم بإعداد خادم موجود على شبكة خلف جدار الحماية وأريد أن تتمكن البرامج الموجودة على هذا الكمبيوتر من استخدام البريد الإلكتروني لإرسال رسائل البريد الإلكتروني إلى أي عنوان بريد إلكتروني.لدينا خادم SMTP يعمل على هذه الشبكة (دعنا نسميه mailrelay.example.com) وهي الطريقة التي من المفترض أن نحصل بها على رسائل البريد الإلكتروني الصادرة من خلال جدار الحماية.

فكيف أقوم بتكوين sendmail لإرسال كل البريد عبر mailrelay.example.com؟البحث في Google لم يعطني الإجابة حتى الآن، وقد كشف فقط أن تكوين sendmail معقد للغاية ومزعج.

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

المحلول

@ايلي:لا يُنصح عادة بتعديل sendmail.cf مباشرة، حيث أنه يتم إنشاؤه بواسطة مترجم الماكرو.

تحرير /etc/mail/sendmail.mc لتضمين السطر:

  define(`SMART_HOST',`mailrelay.example.com')dnl 

بعد تغيير ملف تكوين الماكرو SendMail.mc ، يجب إعادة ترجمة لإنتاج ملف تكوين SendMail.

  # m4 /etc/mail/sendmail.mc > /etc/sendmail.cf

وأعد تشغيل خدمة الإرسال (Linux):

  # /etc/init.d/sendmail restart

بالإضافة إلى إعداد المضيف الذكي، قد ترغب أيضًا في تعطيل تكوين دقة الاسم وربما تحويل بريدك الإلكتروني إلى منفذ غير قياسي، أو تعطيل الوضع الخفي.

تعطيل تحليل الاسم

قد لا تتوفر الخوادم الموجودة داخل الشبكات ذات الجدران الحرارية أو استخدام ترجمة عنوان الشبكة (NAT) لخدمات DNS أو NIS.هذا يخلق مشكلة لـ SendMail ، لأنه سيستخدم DNS افتراضيًا ، وإذا لم يكن متاحًا ، فسترى رسائل مثل هذه في MailQ:

  host map: lookup (mydomain.com): deferred)

ما لم تكن مستعدًا لإعداد خدمة DNS أو NIS المناسبة التي يمكن أن تستخدمها SendMail ، في هذا الموقف ، ستقوم عادةً بتكوين دقة الاسم التي يتعين القيام بها باستخدام ملف /etc /hosts.يتم ذلك عن طريق تمكين ملف "service.switch" وتحديد الدقة حسب الملف ، على النحو التالي:

1:Enable Service.switch لـ SendMail edit /etc/mail/sendmail.mc لتضمين الخطوط:

  define(`confSERVICE_SWITCH_FILE',`/etc/mail/service.switch')dnl

2:تكوين service.switch لإنشاء الملفات أو تعديل/etc/mail/service.switch للإشارة فقط إلى/etc/hosts لدقة الاسم:

  # cat /etc/mail/service.switch
  hosts files

3:أعد ترجمة sendmail.mc وأعد تشغيل sendmail ليصبح هذا الإعداد ساري المفعول.

قم بتحويل إرسال البريد إلى منفذ غير قياسي، أو قم بتعطيل الوضع الخفي

بشكل افتراضي، سوف يستمع sendmail على المنفذ 25.قد ترغب في تغيير هذا المنفذ أو تعطيل وضع SendMail Daemon تمامًا لأسباب مختلفة:- إذا كانت هناك سياسة أمنية تحظر استخدام المنافذ المعروفة - إذا كان هناك منتج/عملية SMTP أخرى يجب تشغيلها على نفس المضيف على المنفذ القياسي - إذا كنت لا ترغب في قبول البريد عبر SMTP على الإطلاق ، فقط ، فقط أرسلها باستخدام SendMail

1:لتحويل sendmail لاستخدام منفذ غير قياسي.تحرير /etc/mail/sendmail.mc وتعديل إعداد "المنفذ" في السطر:

  DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')

على سبيل المثال، للحصول على بريد إلكتروني لاستخدام المنفذ 125:

  DAEMON_OPTIONS(`Port=125,Addr=127.0.0.1, Name=MTA')

سيتطلب هذا إعادة ترجمة sendmail.mc وإعادة تشغيل sendmail.

2:بدلاً من ذلك ، لتعطيل وضع Sendmail Daemon Elgeether (Linux) تحرير/etc/sysconfig/sendmail وتعديل إعداد "Daemon" إلى:

  DAEMON=no

سيتطلب هذا التغيير إعادة تشغيل sendmail.

نصائح أخرى

http://www.elandsys.com/resources/sendmail/smarthost.html

سيندميل سمارت هوست

Smarthost هو مضيف يتم من خلاله نقل البريد الصادر.بعض مزودي خدمة الإنترنت يحظرون حركة مرور SMTP الصادرة (المنفذ 25) ويطلب من مستخدميها إرسال جميع البريد من خلال خادم بريد ISP.يمكن تكوين SendMail لاستخدام خادم بريد ISP كمضيف ذكي.

اقرأ المقالة المرتبطة للحصول على تعليمات حول كيفية إعداد ذلك.

@إسبو:شكرا على النصيحة العظيمة حول من أين تبدأ.كان من الممكن أن يكون الرابط الخاص بك أفضل لو كنت قد قمت بتكوين sendmail لاستخدامه الأول بدلاً من أخذ التكوين الحالي وإجراء هذا التغيير البسيط.ومع ذلك، بمجرد أن عرفت كيفية البحث عن الأشياء على "SmartHost"، وجدت طريقة أسهل.

كل ما كان علي فعله هو تعديل ملف /etc/mail/sendmail.cf الخاص بي لتغييره

DS

ل

DSmailrelay.example.com

ثم أعد تشغيل sendmail وقد نجح الأمر.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top