Domanda

Sto configurando un server su una rete protetta da un firewall e desidero che i programmi su questo computer siano in grado di utilizzare sendmail per inviare e-mail a qualsiasi indirizzo e-mail.Abbiamo un server SMTP in esecuzione su questa rete (chiamiamolo mailrelay.example.com) che è il modo in cui dovremmo ricevere le e-mail in uscita attraverso il firewall.

Allora come configuro sendmail per inviare tutta la posta tramite mailrelay.example.com?Cercare su Google non mi ha ancora dato la risposta e ha solo rivelato che la configurazione di sendmail è estremamente complessa e fastidiosa.

È stato utile?

Soluzione

@eli:la modifica diretta di sendmail.cf non è generalmente consigliata, poiché viene generata dal compilatore di macro.

Modifica /etc/mail/sendmail.mc per includere la riga:

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

Dopo aver modificato il file di configurazione macro Sendmail.mc, deve essere ricompilato per produrre il file di configurazione Sendmail.

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

E riavvia il servizio sendmail (Linux):

  # /etc/init.d/sendmail restart

Oltre a impostare lo smarthost, potresti voler disabilitare anche la configurazione della risoluzione dei nomi ed eventualmente spostare il tuo sendmail su una porta non standard o disabilitare la modalità demone.

Disabilita la risoluzione dei nomi

I server che si trovano all'interno delle reti da parete antincendio o che utilizzano la traduzione degli indirizzi di rete (NAT) potrebbero non avere servizi DNS o NIS disponibili.Questo crea un problema per Sendmail, poiché utilizzerà DNS per impostazione predefinita e, se non è disponibile, vedrai messaggi come questo in Mailq:

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

A meno che tu non sia pronto a impostare un servizio DNS o NIS appropriato che Sendmail può utilizzare, in questa situazione si configura in genere la risoluzione del nome da eseguire utilizzando il file /etc /host.Questo viene fatto abilitando un file "Service.switch" e specificando la risoluzione per file, come segue:

1:Abilita Service.Switch per Sendmail Modifica /etc/mail/sendmail.mc per includere le righe:

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

2:Configura Service.Switch per file Crea o modifica /etc/mail/service.switch per fare riferimento solo a/etc/host per la risoluzione dei nomi:

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

3:Ricompilare sendmail.mc e riavviare sendmail affinché questa impostazione abbia effetto.

Sposta sendmail su una porta non standard o disabilita la modalità demone

Per impostazione predefinita, sendmail sarà in ascolto sulla porta 25.Potresti voler cambiare questa porta o disabilitare del tutto la modalità demone Sendmail per vari motivi:- Se esiste una politica di sicurezza che proibisce l'uso di porte ben note - se un altro prodotto/processo SMTP deve essere eseguito sullo stesso host sulla porta standard - se non si desidera accettare la posta tramite SMTP, solo Invialo usando Sendmail

1:Per spostare sendmail in modo che utilizzi una porta non standard.Modifica /etc/mail/sendmail.mc e modifica l'impostazione "Porta" nella riga:

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

Ad esempio, per fare in modo che sendmail utilizzi la porta 125:

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

Ciò richiederà la ricompilazione di sendmail.mc e il riavvio di sendmail.

2:In alternativa, per disabilitare la modalità Daemon Sendmail del tutto (Linux) EDIT/ETC/SYSCONFIG/SENDMAIL e modificare l'impostazione "daemon" su:

  DAEMON=no

Questa modifica richiederà il riavvio di sendmail.

Altri suggerimenti

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

Sendmail SmartHost

Uno Smarthost è un host attraverso il quale viene trasmessa la posta in uscita.Alcuni ISP bloccano il traffico SMTP in uscita (porta 25) e richiedono ai loro utenti di inviare tutte le posta tramite il server di posta dell'ISP.Sendmail può essere configurato per utilizzare il server di posta dell'ISP come host intelligente.

Leggi l'articolo collegato per istruzioni su come configurarlo.

@Espo:Grazie per gli ottimi consigli su da dove cominciare.Il tuo collegamento sarebbe stato migliore se avessi configurato sendmail per il suo primo utilizzo invece di prendere una configurazione esistente e apportare questa piccola modifica.Tuttavia, una volta che ho saputo cercare cose su "SmartHost", ho trovato un modo più semplice.

Tutto quello che dovevo fare era modificare il mio file /etc/mail/sendmail.cf per cambiare

DS

A

DSmailrelay.example.com

quindi riavvia sendmail e ha funzionato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top