Configura email in arrivo per consegna diretta su siti self-hosted con Mail-Receiver

Come si disabilita esattamente il supporto DMARC?

Ad esempio, aggiungere INCLUDE_DMARC: false alla sezione env di mail-receiver.yml non sembra funzionare. Questo sembra causare il mancato avvio dei demoni opendkim e opendmarc (portando a un avviso nei log), ma il controllo SPF viene ancora eseguito.

Modificato per aggiungere:
Penso di essere riuscito a disabilitare i controlli SPF aggiungendo anche la seguente riga POSTCONF_ alla sezione env:

env:
  ...
  INCLUDE_DMARC: false
  POSTCONF_smtpd_recipient_restrictions: check_policy_service unix:private/policy
  ...

Ho ottenuto questo esaminando il commit che ha introdotto i controlli DMARC, e vedendo cosa dovrebbe succedere quando INCLUDE_DMARC è falso.

So pochissimo su come vengono costruite le immagini docker, ma ho l’impressione che il flag INCLUDE_DMARC sia qualcosa che deve essere impostato da qualcun altro, da qualche altra parte, in un altro momento — non qualcosa che può essere fatto in mail-receiver.yml.

2 Mi Piace

Ho riscontrato la necessità di aprire la porta 443 su ufw — altrimenti ricevo API Request Preparation Failed nei logs. Ho pensato che fosse meglio menzionarlo perché le istruzioni di installazione standard menzionano l’abilitazione di ufw.

La porta 25 è menzionata in mail-receiver.yml e sembra bypassare ufw.

1 Mi Piace

La repository di GitHub dovrebbe essere nell’OP?

3 Mi Piace

Utenti di mail-receiver, consultate Remove smtp_should_reject & discourse-smtp-fast-rejection

Rimuoveremo completamente il rifiuto rapido (fast-rejection) poiché la funzionalità originale era difettosa e causava problemi agli utenti, in particolare questo tipo di cosa:

e influisce anche sulla posta inoltrata poiché il test pre-consegna controllava envelope-from e envelope-to, mentre Discourse utilizza solo i valori nelle intestazioni.

1 Mi Piace

Ho appena inviato questa PR per rimuovere le virgolette non necessarie attorno al valore di DISCOURSE_BASE_URL nel file di esempio mail-receiver.yml. Le virgolette stavano causando problemi alla mia configurazione. Rimuoverle consente il completamento con successo di questo documento.

Puoi spiegare come? La presenza/assenza di virgolette attorno a questo valore non produce alcuna differenza:

[2] pry(main)=> YAML::load("env:\n  DISCOURSE_BASE_URL: 'https://discourse.example.com'")
=> {"env"=>{"DISCOURSE_BASE_URL"=>"https://discourse.example.com"}}

[3] pry(main)=> YAML::load("env:\n  DISCOURSE_BASE_URL: https://discourse.example.com")
=> {"env"=>{"DISCOURSE_BASE_URL"=>"https://discourse.example.com"}}

Quando ho seguito i log da quel container e gli ho inviato messaggi, ho visto un sacco di errori che menzionavano qualcosa come discourse.example.com non fa parte dei record MX o simili. Ho rimosso le virgolette, ricostruito il container e ha iniziato a funzionare :person_shrugging:

Anche la sequenza degli eventi potrebbe essere importante:

  1. Ho configurato e avviato il container mail-receiver
  2. Alcuni giorni dopo ho impostato i record DNS MX
  3. Ho verificato che i record MX fossero impostati correttamente e poi ho iniziato a testare. Non funzionava
  4. Ho rimosso le virgolette, ricostruito il container, ha iniziato a funzionare

Quindi non sono sicuro se la risoluzione fosse correlata alla rimozione delle virgolette, o alla ricostruzione del container dopo la creazione dei record MX.

Nel peggiore dei casi, la PR rende il file yml coerente :slight_smile:

1 Mi Piace