Invio email non riuscito, errore finale: Errore - fine del file raggiunta
Installazione
Fare riferimento a questo articolo per le istruzioni di installazione.
Ho installato prima 1p e poi il forum, ma ho liberato in anticipo le porte 80/443.
Errore
Le informazioni email visualizzate nel pannello di amministrazione sono:
Finestra di dialogo di errore di invio:
(Non posso fornirla, posso caricare solo un’immagine, ma il contenuto della finestra di dialogo di errore è Errore - fine del file raggiunta)
Informazioni aggiuntive
Ho utilizzato un account email 163 con SMTP abilitato. Molti consigliano di utilizzare un’email del proprio dominio, ma siamo un po’ al verde.
Ricordo che il TLS 587 di NetEase Mail ha alcuni problemi (il sistema precedente utilizzava la porta 465 per l’invio delle email, penso che ci sia un motivo).
Ho modificato alcune parti del file di configurazione consultando la documentazione e con l’aiuto dell’AI, principalmente queste sezioni:
DISCOURSE_SMTP_ENABLE_SSL: true
DISCOURSE_SMTP_ENABLE_START_TLS: false
DISCOURSE_SMTP_AUTHENTICATION_TYPE: login
Configurazione app.yml
## questo è il modello del container Docker Discourse standalone all-in-one
##
## Dopo aver apportato modifiche a questo file, DEVI ricostruire
## /var/discourse/launcher rebuild app
##
## FAI *MOLTA* ATTENZIONE QUANDO MODIFICHI!
## I FILE YAML SONO ESTREMAMENTE SENSIBILI A ERRORI DI SPAZIATURA O ALLINEAMENTO!
## visita http://www.yamllint.com/ per convalidare questo file se necessario
templates:
- "templates/postgres.template.yml"
- "templates/redis.template.yml"
- "templates/web.template.yml"
## Decommenta la riga seguente per abilitare il listener IPv6
#- "templates/web.ipv6.template.yml"
- "templates/web.ratelimited.template.yml"
## Decommenta queste due righe se desideri aggiungere Lets Encrypt (https)
- "templates/web.ssl.template.yml"
- "templates/web.letsencrypt.ssl.template.yml"
## quali porte TCP/IP deve esporre questo container?
## Se desideri che Discourse condivida una porta con un altro webserver come Apache o nginx,
## vedi https://meta.discourse.org/t/17247 per i dettagli
expose:
- "80:80" # http
- "443:443" # https
params:
db_default_text_search_config: "pg_catalog.english"
## Imposta db_shared_buffers a un massimo del 25% della memoria totale.
## verrà impostato automaticamente da bootstrap in base alla RAM rilevata, oppure puoi sovrascriverlo
db_shared_buffers: "2048MB"
## può migliorare le prestazioni di ordinamento, ma aumenta l'utilizzo della memoria per connessione
#db_work_mem: "40MB"
## Quale revisione Git deve utilizzare questo container? (default: tests-passed)
#version: tests-passed
env:
LC_ALL: en_US.UTF-8
LANG: en_US.UTF-8
LANGUAGE: en_US.UTF-8
# DISCOURSE_DEFAULT_LOCALE: en
## Quante richieste web concorrenti sono supportate? Dipende da memoria e core CPU.
## verrà impostato automaticamente da bootstrap in base alle CPU rilevate, oppure puoi sovrascriverlo
UNICORN_WORKERS: 8
## TODO: Il nome di dominio a cui risponderà questa istanza di Discourse
## Obbligatorio. Discourse non funzionerà con un semplice numero IP.
DISCOURSE_HOSTNAME: bbs.furina.chat
## Decommenta se desideri che il container venga avviato con lo stesso
## hostname (-h opzione) specificato sopra (default "$hostname-$config")
#DOCKER_USE_HOSTNAME: true
## TODO: Elenco di email separate da virgole che diventeranno admin e sviluppatore
## alla prima registrazione, ad esempio 'user1@example.com,user2@example.com'
DISCOURSE_DEVELOPER_EMAILS: 'images8023@163.com'
## TODO: Il server di posta SMTP utilizzato per convalidare i nuovi account e inviare notifiche
# Indirizzo SMTP, nome utente e password sono obbligatori
# ATTENZIONE il carattere '#' nella password SMTP può causare problemi!
DISCOURSE_SMTP_ADDRESS: smtp.163.com
DISCOURSE_SMTP_PORT: 465
DISCOURSE_SMTP_USER_NAME: phantasm_ai@163.com
DISCOURSE_SMTP_PASSWORD: "(token di sicurezza)"
DISCOURSE_SMTP_ENABLE_SSL: true
DISCOURSE_SMTP_ENABLE_START_TLS: false # (opzionale, default true)
DISCOURSE_SMTP_DOMAIN: 163.com # (richiesto da alcuni provider)
DISCOURSE_NOTIFICATION_EMAIL: phantasm_ai@163.com
DISCOURSE_SMTP_AUTHENTICATION_TYPE: login
## Se hai aggiunto il modello Lets Encrypt, decommenta qui sotto per ottenere un certificato SSL gratuito
LETSENCRYPT_ACCOUNT_EMAIL: images8023@163.com
## L'indirizzo CDN http o https per questa istanza di Discourse (configurato per il pull)
## vedi https://meta.discourse.org/t/14857 per i dettagli
#DISCOURSE_CDN_URL: https://discourse-cdn.example.com
## L'ID account e la chiave di licenza MaxMind per le ricerche degli indirizzi IP di geolocalizzazione
## vedi https://meta.discourse.org/t/-/173941 per i dettagli
#DISCOURSE_MAXMIND_ACCOUNT_ID: 123456
#DISCOURSE_MAXMIND_LICENSE_KEY: 1234567890123456
## Il container Docker è stateless; tutti i dati sono memorizzati in /shared
volumes:
- volume:
host: /var/discourse/shared/standalone
guest: /shared
- volume:
host: /var/discourse/shared/standalone/log/var-log
guest: /var/log
## I plugin vanno qui
## vedi https://meta.discourse.org/t/19157 per i dettagli
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- git clone https://github.com/discourse/docker_manager.git
- git clone https://github.com/discourse/discourse-solved
- git clone https://github.com/discourse/discourse-reactions
## Qualsiasi comando personalizzato da eseguire dopo la compilazione
run:
- exec: echo "Inizio comandi personalizzati"
## Se desideri impostare l'indirizzo email 'Da' per la tua prima registrazione, decommenta e modifica:
## Dopo aver ricevuto la prima email di registrazione, ri-commenta la riga. Deve essere eseguita solo una volta.
#- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
- exec: echo "Fine comandi personalizzati"
