Estoy intentando configurar la respuesta por correo electrónico y crear una nueva publicación por correo electrónico. Agradecería mucho cualquier ayuda.
He configurado el contenedor mail-receiver y lo he iniciado correctamente sin errores en mi foro de Discourse autoalojado utilizando estas guías.
https://meta.discourse.org/t/configure-incoming-email-to-create-new-topics-or-group-messages/62977
Estoy recibiendo correos electrónicos en mi dominio, pero parece que mis correos están siendo rechazados por la clave API.
He utilizado esta guía para configurar la clave API: Where do I put the variables for mail-receiver? - #4 by Simon_Manning
He configurado la clave API para el alcance del sistema para recibir correos electrónicos y los valores predeterminados de:
/admin/email/smtp_should_reject (GET)/admin/email/handle_mail (POST)
Este es un ejemplo del contenido de mi registro de mail-receiver:
mail-qt1-f182.google.com[209.85.160.182]
<19>Jun 3 12:22:56 discourse-smtp-fast-rejection[114]: Failed to GET smtp_should_reject answer from thetarotclub.xyz/admin/email/smtp_should_reject.json: undefined method `request_uri' for #<URI::Generic:0x00005a643e1ea198> (NoMethodError)<19>Jun 3 12:22:56 discourse-smtp-fast-rejection[114]: /usr/local/lib/site_ruby/mail_receiver/fast_rejection.rb:78:in `maybe_reject_email'
/usr/local/lib/site_ruby/mail_receiver/fast_rejection.rb:142:in `maybe_reject_by_api'
/usr/local/lib/site_ruby/mail_receiver/fast_rejection.rb:116:in `block in run_filters'
/usr/local/lib/site_ruby/mail_receiver/fast_rejection.rb:115:in `each'
/usr/local/lib/site_ruby/mail_receiver/fast_rejection.rb:115:in `run_filters'
/usr/local/lib/site_ruby/mail_receiver/fast_rejection.rb:60:in `process_single_request'
/usr/local/lib/site_ruby/mail_receiver/fast_rejection.rb:34:in `process'
/usr/local/bin/discourse-smtp-fast-rejection:10:in `<main>'Jun 03 12:22:56 ubuntu-2gb-ash-1-mail-receiver postfix/smtpd[108]: NOQUEUE: reject: RCPT from mail-qt1-f182.google.com[209.85.160.182]: 450 4.7.1 <replies+772ea5167ee1fabce20db67cd141a364@thetarotclub.xyz>: Recipient address rejected: Internal error, API request preparation failed; from=<cheseldm@gmail.com> to=<replies+772ea5167ee1fabce20db67cd141a364@thetarotclub.xyz> proto=ESMTP helo=<mail-qt1-f182.google.com>
Jun 03 12:22:56 ubuntu-2gb-ash-1-mail-receiver postfix/smtpd[108]: disconnect from mail-qt1-f182.google.com[209.85.160.182] ehlo=1 mail=1 rcpt=0/1 bdat=0/1 quit=1 commands=3/5
Jun 03 12:26:16 ubuntu-2gb-ash-1-mail-receiver postfix/anvil[111]: statistics: max connection rate 1/60s for (smtp:209.85.160.182) at Jun 3 12:22:56
Jun 03 12:26:16 ubuntu-2gb-ash-1-mail-receiver postfix/anvil[111]: statistics: max connection count 1 for (smtp:209.85.160.182) at Jun 3 12:22:56
Jun 03 12:26:16 ubuntu-2gb-ash-1-mail-receiver postfix/anvil[111]: statistics: max cache size 1 at Jun 3 12:22:56
Jun 03 12:43:23 ubuntu-2gb-ash-1-mail-receiver postfix/smtpd[127]: connect from mail-qt1-f176.google.com[209.85.160.176]
y al final del registro de mail-receiver también muestra:
Operating environment:
HOSTNAME=ubuntu-2gb-ash-1-mail-receiver
LANGUAGE=en_US.UTF-8
MAIL_DOMAIN=thetarotclub.xyz
DOCKER_HOST_IP=172.17.0.1
PWD=/
DISCOURSE_BASE_URL=thetarotclub.xyz
HOME=/root
LANG=en_US.UTF-8
TERM=xterm
SHLVL=1
DISCOURSE_API_USERNAME=system
LC_ALL=en_US.UTF-8
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
DISCOURSE_API_KEY=
_=/usr/bin/env
Delivering mail sent to thetarotclub.xyz to Discourse
postfix/postfix-script: warning: symlink leaves directory: /etc/postfix/./makedefs.out
Jun 03 21:34:36 ubuntu-2gb-ash-1-mail-receiver postfix/postfix-script[85]: warning: symlink leaves directory: /etc/postfix/./makedefs.out
Starting Postfix
Jun 03 21:34:36 ubuntu-2gb-ash-1-mail-receiver postfix/master[1]: daemon started -- version 3.5.6, configuration /etc/postfix
La clave API de Discourse no es la que configuré en /var/discourse/containers/mail-receiver.yml
Aquí está mi mail-receiver.yml:
## this is the incoming mail receiver container template
##
## After making changes to this file, you MUST rebuild
## /var/discourse/launcher rebuild mail-receiver
##
## BE *VERY* CAREFUL WHEN EDITING!
## YAML FILES ARE SUPER SUPER SENSITIVE TO MISTAKES IN WHITESPACE OR ALIGNMENT!
## visit http://www.yamllint.com/ to validate this file as needed
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
## Where e-mail to your forum should be sent. In general, it's perfectly fine
## to use the same domain as the forum itself here.
MAIL_DOMAIN: thetarotclub.xyz
# uncomment these (and the volume below!) to support TLS
# POSTCONF_smtpd_tls_key_file: /letsencrypt/discourse.example.com/discourse.example.com.key
# POSTCONF_smtpd_tls_cert_file: /letsencrypt/discourse.example.com/fullchain.cer
# POSTCONF_smtpd_tls_security_level: may
## The base URL for this Discourse instance.
## This will be whatever your Discourse site URL is. For example,
## https://discourse.example.com. If you're running a subfolder setup,
## be sure to account for that (ie https://example.com/forum).
DISCOURSE_BASE_URL: 'https://thetarotclub.xyz'
## The master API key of your Discourse forum. You can get this from
## the "API" tab of your admin panel.
DISCOURSE_API_KEY:
## The username to use for processing incoming e-mail. Unless you have
## renamed the `system` user, you should leave this as-is.
DISCOURSE_API_USERNAME: system
volumes:
- volume:
host: /var/discourse/shared/mail-receiver/postfix-spool
guest: /var/spool/postfix
# uncomment to support TLS
# - volume:
# host: /var/discourse/shared/standalone/letsencrypt
# guest: /letsencrypt
Este es el error que estoy recibiendo en los correos electrónicos rechazados:
450 4.7.1 : Recipient address rejected: Internal error, API request preparation failed