Score:0

การกำหนดค่า sendmail เพื่อฟังบนพอร์ตสำรอง

ธง gu
QF0

ฉันตั้งค่าแล้ว ส่งอีเมล์ เพื่อฟังบนพอร์ต 1234 แทนที่จะเป็น 25 โดยเปลี่ยนเป็น sendmail.mc:

DAEMON_OPTIONS(`พอร์ต=1234, ชื่อ=MTA')

โดยทั่วไปจะใช้งานได้โดยมีข้อยกเว้นประการหนึ่ง พื้นหลังคือฉันมีรีเลย์คอยฟังอยู่ที่พอร์ต 25 (รีเลย์ต้องมีระเบียน MX ดังนั้นจึงต้องอยู่บนพอร์ต 25) รีเลย์ส่งเมลผ่าน sendmail ดังนั้น sendmail จะรับฟัง localhost:1234. กล่าวอีกนัยหนึ่ง sendmail มีหน้าที่เพียงส่งจดหมายเท่านั้น ไม่ใช่ผู้รับ เน็ตสแตท/ etc ยืนยันว่ารีเลย์กำลังฟังที่ 25 และ sendmail กำลังฟังที่ 1234

ใช้งานได้ในกรณีทดสอบทั้งสองนี้:

  1. ฉันสามารถส่งอีเมลโดย telnet'ing เพื่อ sendmail (telnet localhost 1234)
  2. ฉันสามารถส่งอีเมลจาก s-เล็บ ด้วยการเปลี่ยนแปลงการกำหนดค่าที่เหมาะสม (ตั้ง mta=smtp://localhost:1234)

อย่างไรก็ตาม การตั้งค่านี้ ไม่ ทำงานได้ถ้าฉันเรียกใช้ sendmail โดยตรง:

sendmail -d8.20 -vt < ทดสอบอีเมล.txt

ในกรณีนี้ sendmail พยายามส่งจดหมายโดยเชื่อมต่อกับพอร์ต 25 ภายในเครื่อง ดังนั้นจริงๆ แล้วระบบจะพูดคุยกับรีเลย์ในเครื่อง แทนที่จะเป็นเซิร์ฟเวอร์ SMTP ระยะไกล เอาต์พุตการดีบักแสดง:

[email protected]... กำลังเชื่อมต่อกับ [127.0.0.1] ผ่านรีเลย์...
220 mydomain.org ESMTP mydomain รีเลย์

สิ่งนี้ทำให้ฉันนิ่งงัน มีความคิดอะไรเกิดขึ้นที่นี่บ้าง

แก้ไข

ความคืบหน้าบางอย่าง ฉันใช้ Sendmail 8.15.2, Ubuntu 20.04ปัญหานี้ไม่สำคัญเลย ยกเว้นว่า sendmail ล้างคิว MSP ด้วยงาน cron ที่ทำงานทุก ๆ 20 นาที ดังนั้นฉันจึงได้รับรายการล้มเหลวของ syslog จำนวนมาก และคิวอีเมลที่ไม่สามารถส่งได้เป็นจำนวนมาก เนื่องจาก sendmail ไม่พบตัวเอง

ปัญหาน่าจะเป็นดังนี้ เมื่อคุณส่งอีเมล (หรือจัดการคิว) โดยใช้ sendmail กระบวนการนี้จะมี 2 ขั้นตอน (ตามปกติ) คุณเรียกใช้ sendmail ซึ่งอ่านว่า submit.cf (และ ไม่ sendmail.cf) และทำหน้าที่เป็น MSA ส่งอีเมลไปยังบางสิ่ง โดยปกติแล้วบางสิ่งจะเป็น sendmail daemon ในเครื่องซึ่งอ่าน sendmail.cf เมื่อมันเพิ่มขึ้น

sendmail.cf บอก sendmail ว่าจำเป็นต้องฟัง localhost:1234 สำหรับจดหมายเข้า นี่หมายความว่า submit.cf ต้องมีการกำหนดค่าที่บอกโปรแกรม sendmail เพื่อกำหนดเส้นทางอีเมลขาออก localhost:1234.

เกี่ยวข้อง submit.mc config น่าจะเป็น คุณสมบัติ ม.ป.ปซึ่งมีค่าเริ่มต้นเป็น

คุณลักษณะ (`msp', `[127.0.0.1]', `25')

ดังนั้น คำตอบอาจง่ายเหมือนเปลี่ยน 25 เป็น 1234 อย่างไรก็ตาม มันไม่ง่ายอย่างนั้น เพียงแค่เปลี่ยน สร้างไฟล์ใหม่ และรีสตาร์ท sendmail ก็ไม่สร้างความแตกต่าง ในความเป็นจริงการสร้างใหม่ submit.cf ด้วย ม.4 หรือ ทำ สร้างความแตกต่างเป็นศูนย์หรือให้ a เปรียบเทียบ ไฟล์ที่มีคุณสมบัติแสดงความคิดเห็นออก มีเวทมนตร์บางอย่างที่ให้คุณเปลี่ยนฟีเจอร์ได้ แต่ฉันไม่รู้ว่ามันคืออะไร คำตอบอาจอยู่ใน /usr/share/sendmail/cf/feature/msp.m4 แต่ฉันไม่เห็น

dinoex avatar
in flag
คุณลักษณะ (`msp', `[127.0.0.1]', `1234') ใช้ไม่ได้ในการทดสอบของฉันกับ 8.17.2 เนื่องจาก cf/feature/msp.m4 ตรวจสอบเฉพาะ "MSA" เท่านั้น
Score:1
ธง in

เรียกใช้ sendmail จากบรรทัดคำสั่ง โดยใช้ไฟล์กำหนดค่าอื่น

แก้ไขไฟล์ "submit.mc"

เพิ่มบรรทัด:

กำหนด(`RELAY_MAILER_ARGS', `TCP $h 1234')dnl

ก่อนบรรทัด:

คุณลักษณะ (`msp', `[127.0.0.1]')dnl

จากนั้นคอมไพล์ "submit.mc" เป็น "submit.cf"

QF0 avatar
gu flag
QF0
เยี่ยม - แก้ไขได้แล้ว ขอบคุณ

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา