sendmail e Smarthosting basati su una porta particolare


0

Ho un VPS con un'istanza sendmail su di esso che viene utilizzato per recapitare la posta da alcuni siti Wordpress che ospito. Sendmail si trova sullo stesso computer dei siti Wordpress e sono desideroso di mantenerlo in questo modo per un più rapido trasferimento della posta locale. Il server sendmail è in ascolto solo per le connessioni locali ed è anche protetto da connessioni in entrata.

Due dei miei clienti usano G-Suite e uno usa Office 365. Entrambi sono in grado di ricevere posta per l'inoltro, a condizione che siano stati configurati per considerare attendibile l'indirizzo IP dell'invio della macchina. Altri inviano direttamente e hanno autorizzato questo server nei loro record SPF.

È possibile configurare sendmail per l'ascolto automatico su porte aggiuntive e quindi su smarthost la posta inviata da una determinata porta in poi a un determinato servizio?

G-Suite ha un unico punto di inoltro (smtp-relay.gmail.com) mentre ogni dominio O365 ha il proprio dominio univoco esempio-com.mail.protection.outlook.com. Non mi dispiace configurare ogni combinazione porta / smarthost, ma voglio sapere se è possibile e, in tal caso, come configurarlo.

Per esempio:

  • posta in arrivo il 25: in coda per la consegna diretta.
  • posta in arrivo il 26: inoltrata a smtp-relay.gmail.com
  • posta in arrivo il 27: inoltrata a example-com.mail.protection.outlook.com
  • posta in arrivo il 28: inoltrata a example2-com.mail.protection.outlook.com

Configurerei quindi ciascuna delle istanze di invio della posta per comunicare con una porta specifica:

  • Cliente A: 127.0.0.1:25
  • Cliente B: 127.0.0.1:27
  • eccetera.

Quindi wordpress / sendmail devono inviare e-mail a questi domini client? In tal caso, non è necessario fare nulla di diverso. L'email a questi client deve essere inviata esattamente allo stesso modo in cui viene inviata per qualsiasi altro dominio.
joeqwerty,

Le e-mail non sono destinate ai clienti, ma a nome dei clienti a un pubblico più vasto.
Filippo,

OK, quindi invia l'e-mail direttamente ai destinatari e chiedi a questi client di aggiungere il tuo server al loro record SPF come hai fatto per gli altri tuoi clienti. Qual è il motivo per cui lo stai facendo diversamente con questi particolari clienti?
joeqwerty,

Soprattutto perché non mi devo preoccupare di DKIM, DMARC ecc. Inoltre, almeno Google registra automaticamente una copia degli articoli inviati dall'utente di invio.
Filippo,

Risposte:


1

Bene, fondamentalmente ci sono tre modi per affrontare questo problema, come al solito sono i migliori, vecchia scuola e Jedi :). Il modo migliore è di eliminare definitivamente sendmail nel 2018 e iniziare a utilizzare postfix o exim, in cui il routing della posta potrebbe essere ottimizzato più facilmente.

Il metodo vecchio stile, e probabilmente quello che stai cercando, è quello di creare sendmail.cffile separati per ogni porta in entrata che desideri utilizzare, specificando la porta di ascolto e lo smart-host appropriato in ciascuno di essi ed eseguendo sendmaildemoni diversi con ciascuno. Questo è quello che era prima dell'8.10 quando sendmail era finalmente in grado di ascoltare su più porte contemporaneamente come demone.

Il modo in cui Jedi è di creare un set di regole personalizzato usando la sendmail.cfsintassi in cui il routing verrebbe modificato in base al valore del valore $&{daemon_name}macro e impostare il valore appropriato per ogni istanza della porta di ascolto tramite l' DaemonPortOptions('Name=MyServerName')opzione (è stato necessario modificarlo a causa dei backtick). Probabilmente sarà una sezione di codice non più lunga di 8 righe, considerando che utilizzerai una tabella hash per cercare smart-host in base a quel valore.

Mentre l'approccio degli Jedi è allettante, in realtà è un vicolo cieco, poiché la mia lunga esperienza con il mantenimento di regole personalizzate per sendmail mostra che ogni tre anni da quando lo hai scritto lo guarderai come se fosse stato scritto da alieni. .

Quindi, se vuoi davvero restare con sendmail e risolvere il tuo problema, ti consiglio di seguire la soluzione della vecchia scuola :)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.