Puncte:0

Configurarea sendmail pentru a asculta pe un port alternativ

drapel gu
QF0

M-am instalat sendmail pentru a asculta pe portul 1234, mai degrabă decât pe 25, cu o singură modificare sendmail.mc:

DAEMON_OPTIONS(`Port=1234, Nume=MTA')

Acest lucru funcționează în general, cu o singură excepție. Fundalul este că am un releu care ascultă pe portul 25 (releul trebuie să aibă o înregistrare MX, deci trebuie să fie pe portul 25). Releul trimite e-mailuri prin sendmail, așa că sendmail ascultă localhost:1234. Cu alte cuvinte, sendmail este responsabil doar pentru trimiterea de e-mailuri și nu pentru primirea lor. netstat/etc confirmă că releul ascultă pe 25, iar sendmail ascultă pe 1234.

Acest lucru funcționează în aceste două cazuri de testare:

  1. Pot trimite e-mailuri prin telnet la sendmail (telnet localhost 1234)
  2. Pot trimite e-mailuri de la melc cu o modificare adecvată a configurației (setați mta=smtp://localhost:1234)

Cu toate acestea, această configurație nu funcționează dacă rulez direct sendmail:

sendmail -d8.20 -vt < test-email.txt

În acest caz, sendmail încearcă să trimită e-mailul conectându-se la portul 25 local, deci vorbește de fapt cu releul local, mai degrabă decât cu un server SMTP la distanță. Ieșirea de depanare arată:

[email protected]... Se conectează la [127.0.0.1] prin releu...
220 mydomain.org ESMTP mydomain relay

Acest lucru m-a încurcat - ai idee ce se întâmplă aici?

EDITAȚI | ×

Făcând unele progrese. Sunt pe Sendmail 8.15.2, Ubuntu 20.04.Această problemă nu ar conta cu adevărat, cu excepția faptului că sendmail își șterge cozile MSP cu un job cron care rulează la fiecare 20 de minute, așa că primesc o mulțime de intrări de eșec în syslog și cozi mari de e-mailuri nelivrabile, deoarece sendmail nu se poate găsi.

Problema pare a fi următoarea. Când trimiteți un e-mail (sau gestionați cozile) folosind sendmail, este (în mod normal) un proces în 2 pași. Rulați sendmail, care citește depune.cf (și nu sendmail.cf), și acționează ca un MSA, trimițând e-mailul către ceva. Acel ceva este de obicei demonul local sendmail, care citește sendmail.cf când se ridică.

sendmail.cf spune sendmail că trebuie să asculte localhost:1234 pentru e-mailurile primite. Aceasta înseamnă că depune.cf trebuie să conțină o configurație care îi spune programului sendmail să direcționeze e-mailurile trimise localhost:1234.

Pertinentul depune.mc config este probabil CARACTERISTICĂ msp, care este implicit

FEATURE(`msp', `[127.0.0.1]', `25')

Deci răspunsul este probabil la fel de simplu ca schimbarea 25 la 1234. Cu toate acestea, nu este atât de ușor. Doar schimbarea acestuia, regenerarea fișierelor și repornirea sendmail nu face nicio diferență. De fapt, se regenerează depune.cf cu oricare m4 sau face fie nu face nicio diferență, fie vă oferă a cf fișier cu caracteristica comentată. Există ceva magie undeva care vă permite să schimbați caracteristica, dar habar n-am ce. Răspunsul poate fi în /usr/share/sendmail/cf/feature/msp.m4, dar nu îl văd.

dinoex avatar
drapel in
FEATURE(`msp', `[127.0.0.1]', `1234') nu a funcționat în testele mele cu 8.17.2, deoarece cf/feature/msp.m4 verifică doar „MSA”.
Puncte:1
drapel in

Rulând sendmail din linia de comandă, folosind un fișier de configurare diferit.

Editați fișierul „submit.mc”

adauga linia:

define(`RELAY_MAILER_ARGS', `TCP $h 1234')dnl

înainte de linie:

FEATURE(`msp', `[127.0.0.1]')dnl

Apoi compilați „submit.mc” la „submit.cf”.

QF0 avatar
drapel gu
QF0
Grozav - s-a rezolvat, mulțumesc.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.