# Configura la consegna diretta delle email in entrata per siti self-hosted con Mail-Receiver

**URL:** https://meta.discourse.org/t/configure-direct-delivery-incoming-email-for-self-hosted-sites-with-mail-receiver/49487
**Category:** Self-Hosting
**Tags:** email, how-to, advanced-setup, mail-receiver
**Created:** [31 Agosto 2016, 10:58am UTC](https://meta.discourse.org/t/configure-direct-delivery-incoming-email-for-self-hosted-sites-with-mail-receiver/49487 "2016-08-31T10:58:09Z")
**Posts on this page:** 20
**Page:** 3

<div class="post-metadata">

### Author: ![Ryan\_Hyer](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ryan_hyer/32/159861_2.png) [@Ryan\_Hyer](https://meta.discourse.org/u/Ryan_Hyer)
#### Post date: [12 Settembre 2024, 9:55pm UTC](https://meta.discourse.org/t/configure-direct-delivery-incoming-email-for-self-hosted-sites-with-mail-receiver/49487/511 "2024-09-12T21:55:27Z")

</div>

Ciao! Ho un problema strano in cui ho configurato tutto seguendo la guida e funziona benissimo! Tuttavia, qualcosa è andato storto con l’email in _uscita_, che pensavo non sarebbe stata influenzata da nulla di tutto ciò. Sidekiq restituisce il seguente errore per ogni tentativo di email (tutte bloccate nell’elenco Retries) da quando ho attivato mail-receiver:

`Jobs::HandledExceptionWrapper: Wrapped OpenSSL::SSL::SSLError: SSL_read: unexpected eof while reading`

Le mie ricerche mi portano a credere che questo sia in qualche modo correlato a TLS. Avevo decommentato le righe relative a TLS nel file .yml, ma anche ricommentandole non ho risolto il problema. Ho provato le istruzioni nella guida per risolvere i conflitti di Postfix, ma apparentemente non ho Postfix? (La directory `/etc/postfix` nella guida non esiste sulla mia istanza, né riconosce postfix come servizio.) E secondo i risultati di netstat, solo docker-proxy sta utilizzando la porta 25.

Stiamo usando Gmail come servizio SMTP in uscita, e infatti stavamo usando Gmail per il polling POP3 in entrata prima di questo. Ho cancellato alcuni record MX che puntavano a Google, ma la guida diceva di farlo.

Questo è il mio mail-receiver.yml, con alcuni dettagli ovviamente omessi:

```plaintext
## questo è il template del container mail-receiver
##
## Dopo aver apportato modifiche a questo file, DEVI ricostruire
## /var/discourse/launcher rebuild mail-receiver
##
## FAI MOLTA ATTENZIONE QUANDO MODIFICHI!
## I FILE YAML SONO ESTREMAMENTE SENSIBILI A ERRORI DI SPAZIATURA O ALLINEAMENTO!
## visita http://www.yamllint.com/ per validare questo file se necessario

base_image: discourse/mail-receiver:release
update_pups: false

expose:
  - "25:25" # SMTP

env:
  LC_ALL: en_US.UTF-8
  LANG: en_US.UTF-8
  LANGUAGE: en_US.UTF-8

  ## Dove le email al tuo forum dovrebbero essere inviate. In generale, va benissimo
  ## usare lo stesso dominio del forum stesso qui.
  MAIL_DOMAIN: discourse.[mydomain].org
# decommenta queste righe (e il volume sottostante!) per supportare TLS
  POSTCONF_smtpd_tls_key_file: /letsencrypt/discourse.[mydomain].org/discourse.[mydomain].org.key
  POSTCONF_smtpd_tls_cert_file: /letsencrypt/discourse.[mydomain].org/fullchain.cer
  POSTCONF_smtpd_tls_security_level: may

  ## L'URL di base per questa istanza di Discourse.
  ## Sarà qualunque sia l'URL del tuo sito Discourse. Ad esempio,
  ## https://discourse.example.com. Se stai eseguendo una configurazione in sottocartella,
  ## assicurati di tenerne conto (ad es. https://example.com/forum).
DISCOURSE_BASE_URL: 'https://discourse.[mydomain].org'

  ## La chiave API master del tuo forum Discourse. Puoi ottenerla dalla
  ## scheda "API" del tuo pannello di amministrazione.
  DISCOURSE_API_KEY: [myapikey]

  ## Il nome utente da utilizzare per l'elaborazione delle email in entrata. A meno che tu non abbia
  ## rinominato l'utente `system`, dovresti lasciarlo così com'è.
  DISCOURSE_API_USERNAME: system

volumes:
  - volume:
      host: /var/discourse/shared/mail-receiver/postfix-spool
      guest: /var/spool/postfix
# decommenta per supportare TLS
  - volume:
      host: /var/discourse/shared/standalone/letsencrypt
      guest: /letsencrypt

```

La tecnologia email è un po’ al di fuori della mia competenza, quindi apprezzo qualsiasi consiglio, anche se è per farmi notare che ho trascurato qualcosa di stupido durante la configurazione. Grazie!

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [12 Settembre 2024, 11:55pm UTC](https://meta.discourse.org/t/configure-direct-delivery-incoming-email-for-self-hosted-sites-with-mail-receiver/49487/512 "2024-09-12T23:55:53Z")

</div>

Come pensavi, non ha niente a che fare con il ricevitore del collo. L’host tramite cui stai inviando la posta ha un certificato SSL rotto.

---

<div class="post-metadata">

### Author: ![Ryan\_Hyer](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ryan_hyer/32/159861_2.png) [@Ryan\_Hyer](https://meta.discourse.org/u/Ryan_Hyer)
#### Post date: [16 Settembre 2024, 9:23pm UTC](https://meta.discourse.org/t/configure-direct-delivery-incoming-email-for-self-hosted-sites-with-mail-receiver/49487/513 "2024-09-16T21:23:26Z")

</div>

Bene, l’ho capito dopo molti tentativi. Il problema è probabilmente derivato dal fatto che il dominio su cui ospitiamo la nostra istanza Discourse non è lo stesso dominio su cui si trovavano i nostri record MX. Una volta superata quella confusione, tutto si è risolto.

È sicuramente un mio stupido errore, ma la guida ha contribuito un po’ alla mia confusione con questo:

> [@Discourse](#):
>
> - **Nome DNS:** `forum.example.com` (questo è il `MAIL_DOMAIN`)
> - **Tipo:** `MX`
> - **Priorità:** 10
> - **Valore:** `forum.example.com` (questo è il dominio del tuo forum)

Non è molto chiaro che le due voci `forum.example.com` _non debbano essere identiche_, e nel mio caso dovevano essere diverse. Forse le persone che utilizzano questa guida dovrebbero essere abbastanza esperte da saperlo, ma io non lo ero. Quindi lascio questo qui per chiunque altro possa incontrare un problema simile. Ho imparato alcune cose sul DNS che non sapevo, quindi è stata una buona esperienza di apprendimento, e ora funziona tutto alla grande. 🙂

---

<div class="post-metadata">

### Author: ![Ryan\_Hyer](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ryan_hyer/32/159861_2.png) [@Ryan\_Hyer](https://meta.discourse.org/u/Ryan_Hyer)
#### Post date: [20 Settembre 2024, 5:35pm UTC](https://meta.discourse.org/t/configure-direct-delivery-incoming-email-for-self-hosted-sites-with-mail-receiver/49487/514 "2024-09-20T17:35:04Z")

</div>

Beh, ho parlato troppo presto. Le email in uscita funzionano bene, le _risposte_ in entrata sembrano funzionare bene, ma l’invio all’indirizzo email di una categoria non va a buon fine in modo silenzioso. Ho copiato e incollato l’indirizzo direttamente dalle impostazioni in una nuova email, quindi so che non ci sono errori di battitura.

I log del mio `mail-receiver` hanno fondamentalmente tre tipi di voci. Quella riuscita, che era una risposta via email a un post esistente, appare così:

```plaintext
Sep 20 16:59:44 discourse-mail-receiver postfix/smtpd[277]: connect from server168-1.web-hosting.com[68.65.122.144]
Sep 20 16:59:45 discourse-mail-receiver postfix/smtpd[277]: NOQUEUE: reject: RCPT from server168-1.web-hosting.com[68.65.122.144]: 454 4.7.1 <[category]@discourse.[domain].org>: Relay access denied; from=<ryan@[redacted].com> to=<[category]@discourse.[domain].org> proto=ESMTP helo=<server168-1.web-hosting.com>
<22>Sep 20 16:59:45 policyd-spf[288]: : prepend Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=[redacted]; helo=server168-1.web-hosting.com; envelope-from=ryan@[redacted].com; receiver=discourse.[domain].org Sep 20 16:59:45 discourse-mail-receiver postfix/cleanup[281]: 4CCED114200: message-id=<20240920165945.4CCED114200@discourse-mail-receiver.localdomain>
Sep 20 16:59:45 discourse-mail-receiver postfix/smtpd[277]: disconnect from server168-1.web-hosting.com[68.65.122.144] ehlo=1 starttls=0/1 mail=1 rcpt=0/1 data=0/1 quit=1 commands=3/6

```

A parte questo, ci sono due tipi di (quelli che presumo siano) errori, ognuno dei quali si ripete parecchio. Il primo appare così:

`Sep 20 17:00:23 discourse-mail-receiver postfix/qmgr[124]: 5D162FC26D: from=<double-bounce@discourse-mail-receiver.localdomain>, size=960, nrcpt=1 (queue active)`

E l’altro:

`Sep 20 17:00:23 discourse-mail-receiver postfix/error[293]: 8DC3BFC141: to=<postmaster@discourse-mail-receiver.localdomain>, orig_to=<postmaster>, relay=none, delay=126622, delays=126622/0.05/0/0, dsn=4.4.3, status=deferred (delivery temporarily suspended: Host or domain name not found. Name service error for name=discourse-mail-receiver.localdomain type=MX: Host not found, try again)`

E questo è ciò che mostra il mio `mailq`, solo voci come questa ancora e ancora e ancora:

```plaintext
3D07BFC23D 960 Fri Sep 20 06:42:23 double-bounce@discourse-mail-receiver.localdomain
(delivery temporarily suspended: Host or domain name not found. Name service error for name=discourse-mail-receiver.localdomain type=MX: Host not found, try again)
                                         postmaster@discourse-mail-receiver.localdomain

```

Parte di questo sembra avere a che fare con le email che Discourse invia, che poi vengono respinte per qualche motivo. `mail-receiver` ha qualche funzionalità per elaborare questi bounce, o rimarranno per sempre nella mailq?

In secondo luogo, perché le risposte funzionano, ma l’invio diretto via email a una categoria no? Grazie ancora per il tuo aiuto e la tua pazienza. 🙂

---

<div class="post-metadata">

### Author: ![Simon\_Manning](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/simon_manning/32/198596_2.png) [@Simon\_Manning](https://meta.discourse.org/u/Simon_Manning)
#### Post date: [20 Settembre 2024, 6:31pm UTC](https://meta.discourse.org/t/configure-direct-delivery-incoming-email-for-self-hosted-sites-with-mail-receiver/49487/515 "2024-09-20T18:31:26Z")

</div>

> [@Ryan\_Hyer](#):
>
> Quello riuscito, che è stata una risposta via email a un post esistente, appare così:
> 
> ```plaintext
> ...
> 454 4.7.1 <[category]@discourse.[domain].org>: Relay access denied;
> ...
> 
> ```

Queste sembrano le voci di log per il fallimento verso l’indirizzo di una categoria piuttosto che per il successo nel rispondere a un post.

> [@Ryan\_Hyer](#):
>
> In secondo luogo, perché le risposte funzionano, ma l’invio di email direttamente a una categoria no?

Non sono sicuro al 100%, ma penso che `relay access denied` suggerisca che `discourse.[domain].org` probabilmente non sia il dominio utilizzato per `MAIL_DOMAIN` in `mail-receiver.yml`. Possibilmente l’indirizzo di risposta è consentito attraverso altri mezzi.

So cosa viene utilizzato in `MAIL_DOMAIN` finisce in almeno un posto in un file di configurazione di postfix, quindi cambiarlo probabilmente richiede la ricostruzione del container. Hai cambiato `MAIL_DOMAIN` e, in tal caso, hai eseguito `./launcher rebuild mail-receiver` in seguito?

---

<div class="post-metadata">

### Author: ![Ryan\_Hyer](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ryan_hyer/32/159861_2.png) [@Ryan\_Hyer](https://meta.discourse.org/u/Ryan_Hyer)
#### Post date: [8 Ottobre 2024, 8:26pm UTC](https://meta.discourse.org/t/configure-direct-delivery-incoming-email-for-self-hosted-sites-with-mail-receiver/49487/517 "2024-10-08T20:26:45Z")

</div>

[Scusate per aver premuto accidentalmente invio prima di finire il mio post precedente]

Sto ancora sbattendo la testa su questo problema. Ma ho una nuova idea su quale potrebbe essere il problema. Sto lavorando con due domini, chiamiamoli [domain1] e [domain2]. Il mio relay SMTP di Gmail è ospitato su [domain1]. La mia istanza Discourse, così come il mio `mail-receiver`, è ospitata su [domain2].

Come imposto l’impostazione `reply-by-email-address` in Discourse per forzare un indirizzo di risposta su [domain2], quando l’email viene inviata da [domain1]? Ottengo l’errore SSL EOF menzionato sopra quando tento di farlo. Presumo che ci sia qualche trucco di autenticazione DNS o qualcosa che mi sfugge.

---

<div class="post-metadata">

### Author: ![Ryan\_Hyer](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ryan_hyer/32/159861_2.png) [@Ryan\_Hyer](https://meta.discourse.org/u/Ryan_Hyer)
#### Post date: [9 Ottobre 2024, 5:38pm UTC](https://meta.discourse.org/t/configure-direct-delivery-incoming-email-for-self-hosted-sites-with-mail-receiver/49487/518 "2024-10-09T17:38:01Z")

</div>

Sembra che alla fine l’abbia capito. Per fare in modo che l’indirizzo “reply-to” si trovi in un dominio diverso da quello del relay SMTP, ho dovuto allentare alcune impostazioni in Google Workspace. Ora sembra che tutto funzioni come previsto in entrambe le direzioni.

---

<div class="post-metadata">

### Author: ![Ryan\_Hyer](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ryan_hyer/32/159861_2.png) [@Ryan\_Hyer](https://meta.discourse.org/u/Ryan_Hyer)
#### Post date: [10 Ottobre 2024, 4:25pm UTC](https://meta.discourse.org/t/configure-direct-delivery-incoming-email-for-self-hosted-sites-with-mail-receiver/49487/519 "2024-10-10T16:25:12Z")

</div>

Un’ultima domanda. Anche se ora tutto funziona correttamente, ho ancora un sacco di vecchie voci nella mia `mailq`. Si tratta molto probabilmente di email generate con le impostazioni sbagliate e che quindi rimarranno bloccate nel limbo per sempre. Preferirei semplicemente eliminarle e andare avanti. Quindi, come si svuota la `mailq`?

---

<div class="post-metadata">

### Author: ![Jagster](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jagster/32/192154_2.png) [@Jagster](https://meta.discourse.org/u/Jagster)
#### Post date: [12 Dicembre 2024, 11:51pm UTC](https://meta.discourse.org/t/configure-direct-delivery-incoming-email-for-self-hosted-sites-with-mail-receiver/49487/520 "2024-12-12T23:51:45Z")

</div>

> [@Ryan\_Hyer](#):
>
> Errore SSL EOF

Post un po’ vecchio, ma forse il motivo più comune per l’errore SSL EOF è un conflitto tra le versioni di OpenSSL: v1.1.1f vs v3. L’aggiornamento di quel vecchio 1.1.1f sarà la soluzione. E la cattiva notizia è che, ad esempio, Ubuntu 20.x non può usarne uno più recente, quindi l’intero Ubuntu deve essere aggiornato.

---

<div class="post-metadata">

### Author: ![denvergeeks](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/denvergeeks/32/327671_2.png) [@denvergeeks](https://meta.discourse.org/u/denvergeeks)
#### Post date: [24 Dicembre 2024, 11:26pm UTC](https://meta.discourse.org/t/configure-direct-delivery-incoming-email-for-self-hosted-sites-with-mail-receiver/49487/521 "2024-12-24T23:26:50Z")

</div>

Sono al limite, dopo aver passato ore. Non riesco a superare questo errore del Launcher, anche se i nomi dei miei file di configurazione sono tutti in minuscolo.

[“ERRORE: Il nome della configurazione non deve contenere caratteri maiuscoli, spazi o caratteri speciali. Correggi il nome della configurazione ed esegui nuovamente ./launcher.”](https://meta.discourse.org/t/launcher-always-exits-with-error-config-name-must-not-contain-upper-case-characters-spaces-or-special-characters/49642)

mentre eseguo

`./launcher rebuild mail-receiver`

o

`./launcher bootstrap mail-receiver`

o

`./launcher start mail-receiver`

Posso vederlo qui nel codice sorgente del launcher

 ![Uno snippet di codice di programmazione mostra un'istruzione condizionale per convalidare i nomi delle configurazioni in un ambiente Docker. (Didascalia dell'IA)](https://global.discourse-cdn.com/meta/original/4X/d/6/2/d629a9c9c0d2eefec356f4f7f82868593d30b595.png)

Grrrrrrrrrr – Per favore, aiutami!

Ho provato tutto nel post collegato sopra relativo alla localizzazione e tutto ciò che ho potuto trovare altrove.

`./launcher rebuild app___` stanno funzionando bene!

---

<div class="post-metadata">

### Author: ![denvergeeks](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/denvergeeks/32/327671_2.png) [@denvergeeks](https://meta.discourse.org/u/denvergeeks)
#### Post date: [24 Dicembre 2024, 11:38pm UTC](https://meta.discourse.org/t/configure-direct-delivery-incoming-email-for-self-hosted-sites-with-mail-receiver/49487/522 "2024-12-24T23:38:04Z")

</div>

Ho un possibile indizio: questo ha iniziato ad accadere subito dopo aver premuto accidentalmente il tasto Bloc Maiusc (ma con solo 2 lettere maiuscole) mentre stavo nominando il file di configurazione, che ho poi immediatamente disattivato e riscritto le 2 lettere prima ancora di salvarlo.

Difficile immaginare come questo breve errore di battitura/correzione possa aver causato questo, ma forse le maiuscole sono bloccate in un buffer da qualche parte, o ???

---

<div class="post-metadata">

### Author: ![Canapin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/canapin/32/119591_2.png) [@Canapin](https://meta.discourse.org/u/Canapin)
#### Post date: [25 Dicembre 2024, 12:01am UTC](https://meta.discourse.org/t/configure-direct-delivery-incoming-email-for-self-hosted-sites-with-mail-receiver/49487/523 "2024-12-25T00:01:51Z")

</div>

È ben al di là delle mie conoscenze, ma mi sorprende che il messaggio di errore non restituisca la variabile `$config` 🤔  
Sicuramente aiuterebbe nel debug.

---

<div class="post-metadata">

### Author: ![denvergeeks](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/denvergeeks/32/327671_2.png) [@denvergeeks](https://meta.discourse.org/u/denvergeeks)
#### Post date: [25 Dicembre 2024, 12:06am UTC](https://meta.discourse.org/t/configure-direct-delivery-incoming-email-for-self-hosted-sites-with-mail-receiver/49487/524 "2024-12-25T00:06:21Z")

</div>

Grazie @Canapin! - questo è ciò che sto cercando di configurare:

[https://www.perplexity.ai/search/provide-the-code-lJcI4BrFQ2auuD42ehYFwA](https://www.perplexity.ai/search/provide-the-code-lJcI4BrFQ2auuD42ehYFwA)

---

<div class="post-metadata">

### Author: ![Canapin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/canapin/32/119591_2.png) [@Canapin](https://meta.discourse.org/u/Canapin)
#### Post date: [25 Dicembre 2024, 12:14am UTC](https://meta.discourse.org/t/configure-direct-delivery-incoming-email-for-self-hosted-sites-with-mail-receiver/49487/525 "2024-12-25T00:14:51Z")

</div>

Puoi copiare e incollare tutto il contenuto della tua riga di comando?

Dal tuo `./launcher start mail-receiver` al messaggio di errore, così come il nome esatto del file `.yml`?

Se rinomino il file di configurazione in `Mail-receiver.yml`, `./launcher start Mail-receiver` produrrà

```plaintext
ERROR: Config name 'Mail-receiver' must not contain upper case characters, spaces or special characters. Correct config name and rerun ./launcher.

```

Qui il messaggio di errore contiene il nome del file.

Inoltre, se esegui `./launcher start aaa`, non troverà alcun file corrispondente e elencherà quelli disponibili. Li sceglie solo dalla cartella, quindi non c’è niente di magico qui, ma forse produrrà qualcosa di interessante 🤷

```plaintext
ERROR: containers/aaa.yml does not exist or is not readable.

Available configs ( app, mail-receiver )

```

---

<div class="post-metadata">

### Author: ![denvergeeks](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/denvergeeks/32/327671_2.png) [@denvergeeks](https://meta.discourse.org/u/denvergeeks)
#### Post date: [3 Gennaio 2025, 10:23am UTC](https://meta.discourse.org/t/configure-direct-delivery-incoming-email-for-self-hosted-sites-with-mail-receiver/49487/526 "2025-01-03T10:23:09Z")

</div>

Grazie mille, ho risolto e funziona.

---

<div class="post-metadata">

### Author: ![Canapin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/canapin/32/119591_2.png) [@Canapin](https://meta.discourse.org/u/Canapin)
#### Post date: [3 Gennaio 2025, 11:28am UTC](https://meta.discourse.org/t/configure-direct-delivery-incoming-email-for-self-hosted-sites-with-mail-receiver/49487/527 "2025-01-03T11:28:51Z")

</div>

Qual è stato il problema alla fine? Potrebbe aiutare altri 🙂

---

<div class="post-metadata">

### Author: ![denvergeeks](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/denvergeeks/32/327671_2.png) [@denvergeeks](https://meta.discourse.org/u/denvergeeks)
#### Post date: [3 Gennaio 2025, 12:41pm UTC](https://meta.discourse.org/t/configure-direct-delivery-incoming-email-for-self-hosted-sites-with-mail-receiver/49487/528 "2025-01-03T12:41:49Z")

</div>

Non c’è stato alcun problema, è stata solo una curva di apprendimento per capire come interagiscono i vari componenti del server per l’instradamento di domini e posta elettronica. Non avevo mai approfondito prima postfix. È stato divertente e ho imparato molto.

La ricetta che ho finalmente trovato è usare un mail-receiver.yml (un container docker) accoppiato a ogni istanza di Discourse, condividendo tutti la porta 25 utilizzando la funzionalità di trasporto in postfix per gestire l’instradamento.

---

<div class="post-metadata">

### Author: ![denvergeeks](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/denvergeeks/32/327671_2.png) [@denvergeeks](https://meta.discourse.org/u/denvergeeks)
#### Post date: [4 Gennaio 2025, 1:44am UTC](https://meta.discourse.org/t/configure-direct-delivery-incoming-email-for-self-hosted-sites-with-mail-receiver/49487/529 "2025-01-04T01:44:02Z")

</div>

Sul mio server dedicato (con Ubuntu 22.04 e Postfix installato) utilizzo un file `mail-receiver.yml` separato per ogni istanza di Discourse in cui ho abilitato la funzionalità di invio tramite posta elettronica.

Questa configurazione crea un container separato _per ogni istanza di Discourse_ sul mio server (accanto al tipico container `app`) che riceve ed elabora le e-mail _per la corrispondente istanza di Discourse_.

Le e-mail in arrivo per tutti i forum di Discourse sul server vengono ricevute da Postfix tramite la porta standard 25, dove il file di configurazione principale di Postfix utilizza una “transport map” per “inoltrare” ogni e-mail al forum di Discourse previsto analizzando il nome del dominio nell’indirizzo e-mail “To:”.

Quindi, oltre alle istruzioni di questo argomento, ho…

1. modificato il file di configurazione Postfix esistente in: `/etc/postfix/main.cf`  

2. quindi, ho aggiunto il corrispondente file [postfix transport map](https://www.linuxbabe.com/mail-server/postfix-transport-map-relay-map-flexible-email-delivery) in: `/etc/postfix/transport`  

 ![L'immagine mostra una finestra di esplorazione file che visualizza una directory denominata "/etc/postfix" con vari file e sottodirectory relative all'agente di trasferimento della posta Postfix. (Didascalia dell'IA)](https://global.discourse-cdn.com/meta/original/4X/c/7/7/c77a35c170afebbd359f45df2aff4781095fd411.jpeg)

1. infine, ho aggiunto i file corrispondenti per creare il container e-mail per ciascuno dei forum:  
`/var/discourse/containers/mail-receiver-domain1.yml`  
`/var/discourse/containers/mail-receiver-domain2.yml`  
`/var/discourse/containers/mail-receiver-domain3.yml`  
`/var/discourse/containers/mail-receiver-domain4.yml`  
`/var/discourse/containers/mail-receiver-domain5.yml`  
 ![Un'immagine che mostra un file di dati YAML con vari commenti e impostazioni per un modello di container ricevitore di posta. (Didascalia dell'IA)](https://global.discourse-cdn.com/meta/original/4X/a/6/2/a6297527f92fb0b524e8de3f209ed04291d67e88.jpeg)

 ![Una finestra WinSCP che mostra una struttura di directory con vari file, inclusi diversi file "mail-receiver-domain1.yml" evidenziati. (Didascalia dell'IA)](https://global.discourse-cdn.com/meta/original/4X/a/0/a/a0acadf2d6ba6255f4a3d4ccc7a40d71fd1156b6.jpeg)

---

<div class="post-metadata">

### Author: ![Canapin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/canapin/32/119591_2.png) [@Canapin](https://meta.discourse.org/u/Canapin)
#### Post date: [16 Gennaio 2025, 3:20pm UTC](https://meta.discourse.org/t/configure-direct-delivery-incoming-email-for-self-hosted-sites-with-mail-receiver/49487/530 "2025-01-16T15:20:01Z")

</div>

> [@Discourse](#):
>
> apri `containers/mail-receiver.yml` nel tuo editor di testo preferito e modifica le variabili `MAIL_DOMAIN`, `DISCOURSE_MAIL_ENDPOINT` e `DISCOURSE_API_KEY` in base al tuo sito. (Se sei un utente avanzato e sai che stai usando nginx al di fuori del tuo container, vedi sotto per configurazioni aggiuntive per nginx esterno.)
> 
> > 💡 Se utilizzi l’endpoint di posta predefinito (`/admin/email/handle_mail`), ti suggeriamo di utilizzare l’ambito della chiave API `receive_email` per fornire un ulteriore livello di sicurezza.

Non c’è `DISCOURSE_MAIL_ENDPOINT` in `mail-receiver.yml`, e c’è anche `DISCOURSE_BASE_URL` da modificare.

---

<div class="post-metadata">

### Author: ![LotusJeff](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lotusjeff/32/477888_2.png) [@LotusJeff](https://meta.discourse.org/u/LotusJeff)
#### Post date: [21 Gennaio 2025, 7:38pm UTC](https://meta.discourse.org/t/configure-direct-delivery-incoming-email-for-self-hosted-sites-with-mail-receiver/49487/531 "2025-01-21T19:38:57Z")

</div>

Utilizzo un servizio di inoltro email che supporta l’inoltro di email in formato JSON a un webhook.

Questa è un’opzione per la consegna diretta di email?

[Pagina precedente](https://meta.discourse.org/t/configure-direct-delivery-incoming-email-for-self-hosted-sites-with-mail-receiver/49487.md?page=2)

[Pagina seguente](https://meta.discourse.org/t/configure-direct-delivery-incoming-email-for-self-hosted-sites-with-mail-receiver/49487.md?page=4)
