Instalei o discourse mail-receiver para permitir respostas por e-mail em meu site auto-hospedado. Recebo o seguinte aviso de depreciação nos logs.
Aviso de depreciação: aviso: o parâmetro email está obsoleto. todas as requisições POST para esta rota devem ser enviadas com um parâmetro email_encoded codificado em base64 estrito em vez disso. email foi recebido e está na fila para processamento (remoção no Discourse 3.3.0)
Em /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/actionpack-7.2.2.1/lib/action_controller/metal/basic_implicit_render.rb:8:in `send_action`
Estou executando a versão mais recente do Discourse 3.5.0.beta3-dev, então a versão de depreciação está errada, mas ainda parece assustador que possa quebrar a qualquer momento.
Sintoma
Todo e-mail recebido via mail-receiver gera o seguinte nos logs:
AVISO DE DEPRECIAÇÃO: aviso: o parâmetro email está depreciado. todas as requisições POST para esta rota devem ser enviadas com um parâmetro email_encoded codificado em base64 estrito. o email foi recebido e está na fila para processamento (remoção no Discourse 3.3.0)
Em /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/actionpack-8.0.5.1/lib/action_controller/metal/basic_implicit_render.rb:8:in `ActionController::BasicImplicitRender#send_action`
O que verifiquei em meu servidor
base_image: discourse/mail-receiver:release em /var/discourse/containers/mail-receiver.yml — então estou usando a linha release, não uma versão antiga fixa.
docker ps mostra local_discourse/mail-receiver rodando junto com o container padrão do app.
docker image inspect local_discourse/mail-receiver --format '{{.Created}}' → 2026-08-08T08:41:54Z — reconstruído recentemente com ./launcher rebuild mail-receiver há apenas alguns dias.
O aviso de depreciação persiste após uma reconstrução fresca na release.
Conclusão
O aviso vem da última versão release atual do próprio mail-receiver, que ainda envia o e-mail bruto sob o parâmetro depreciado email em vez do parâmetro email_encoded codificado em base64 estrito que o endpoint agora espera. Pelo que posso ver, nada na imagem release em execução resolve isso ainda.
É apenas um aviso de depreciação (não um erro) e o e-mail ainda é colocado na fila e processado normalmente, então não está quebrando meu site — mas adoraria ver o código do mail-receiver atualizado para que esse aviso desapareça. A linha problemática está em discourse_mail_receiver.rb, que posta o parâmetro email em vez de email_encoded.
Há algum cronograma para disponibilizar essa correção na imagem release do mail-receiver?
O mail-receiver ainda estava enviando a mensagem bruta usando o parâmetro email obsoleto. O PR altera para enviar a mensagem usando email_encoded: Base64.strict_encode64(...) em vez disso, conforme solicitado pelo endpoint do Discourse /admin/email/handle_mail.
Também adicionei um teste de regressão que verifica se email_encoded é enviado e o parâmetro email obsoleto não é mais usado.
A suite de testes do mail-receiver e as verificações de formatação/lint passam localmente.