O mail-receiver funciona com arm?

Estou na arquitetura ARM e ele lança erros no comando acima. Acho que este plugin não é adequado para arm?

Existe algum outro plugin para receber e-mails para arm?

Receio não estar familiarizado com arm, por isso não posso aconselhar se é inadequado, mas apenas queria notar que isto não é um plugin. Embora espero que seja apenas uma confusão de terminologia e que você não esteja tentando instalá-lo como um plugin, pois isso não funcionará. :slight_smile:

1 curtida

Obrigado pela resposta. Ah, foi mal, eu pensei que funcionava como um plugin. Se tiver um termo diferente, por favor, me avise. Meu servidor está rodando em arm64, os novos chips, eu acho, na amazon ec2.

Eu acabei de instalar como explicado no post. Mas ele gera erros. Parece que não funciona em arm64.

1 curtida

Apenas para esclarecer, você está dizendo que passou com sucesso pela instalação padrão e tem uma instância Discourse funcionando em arm, no entanto, a configuração específica do mail-receiver está falhando?

Quais são os erros que você está vendo? Se você puder fornecer as mensagens de erro, isso pode ajudar a identificar uma causa. Tenha cuidado para verificar se há algo sensível que precise ser removido.

É um pouco difícil (para mim) dar um termo específico em relação ao Discourse. Por baixo dos panos, é apenas um aplicativo de contêiner totalmente separado para um servidor de e-mail somente para recebimento, que por acaso está (é deliberadamente) configurado para entregar esses e-mails ao Discourse por meio de sua API.

2 curtidas

Sim, esse é o procedimento de instalação padrão para instalar o discourse. E o discourse está funcionando bem, acho que em arm64.

Os erros são os seguintes:

Status: Downloaded newer image for discourse/mail-receiver:release
docker.io/discourse/mail-receiver:release

WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested

exec /usr/bin/gem: exec format error

cd /pups && /pups/bin/pups --stdin

bootstrap failed with exit code 1

** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.

Comecei a usar o aws WorkMail por enquanto, mas se o discourse puder ter um recurso simples de recebimento e composição de e-mail, então vale a pena usá-lo como uma caixa de entrada de e-mail oficial.

Não existe tal coisa como um servidor de e-mail simples. Existe um servidor de e-mail ou não. E servidores de e-mail são extremamente difíceis, muito vulneráveis a se tornarem centros de spam e proibidos na maioria dos serviços de nuvem/VPS.

É por isso que o Discourse consultará um servidor de e-mail real, coletando e-mails e enviando-os para lá. Se um administrador configurou isso.

1 curtida

Acho que você me entendeu mal.

Não estou me referindo à “Criação de um servidor de e-mail”. Em vez disso, ter uma interface simples, mas agradável (UX) para compor (enviar e-mails) e ler (e-mails recebidos), para que possamos usá-la para responder a e-mails oficiais que recebemos.

O “serviço de e-mail simples (SES)” da AWS já não controla spam, etc.? Nós apenas temos que fornecer a UX no discourse para que tenhamos uma caixa de entrada de e-mail com UX agradável e simples e um compositor.

Não tenho certeza se fornecer uma UX de página única no discourse é tão complexo (já que já temos o servidor embutido nele e podemos usar o AWS SES via discourse também).

Para a imagem base do Discourse, a ferramenta launcher detecta quando está rodando em arm64 e muda para uma imagem arm64 com um aviso de que é experimental. O mesmo não acontece para mail-receiver e, olhando as imagens no Docker Hub, parece que uma versão arm64 não existe.

Existem duas opções óbvias que vêm à mente:

  1. Mudar para uma instância EC2 amd64, o que lhe dará uma instalação do Discourse não experimental e permitirá que você instale mail-receiver junto com ela.
  2. Adicionar uma segunda instância EC2, a opção menor com amd64 (t3a.nano, eu acho), e instalar mail-receiver nela.

Não importa onde o mail-receiver fique, o registro DNS MX para seu endereço de e-mail de resposta só precisa apontar confiavelmente para ele e ele precisa ser capaz de se conectar à sua instância do Discourse.

Se isso se refere ao manuseio de e-mails para endereços como info@suaempresa.com, vendas@suaempresa.com, suporte@suaempresa.com, etc., então acho que a mensagens em grupo lhe dará o que você procura.

Ou seja, depois que você tiver o mail-receiver funcionando, você pode criar grupos apropriados no Discourse e dar aos grupos um ou mais endereços de e-mail de entrada personalizados. Ao olhar as mensagens do seu próprio usuário, você verá caixas de entrada/etc. para quaisquer grupos dos quais você faça parte.

Se você usar este domínio para e-mail de funcionários, por exemplo, prettygirl@suaempresa.com, então você precisará configurar algo com seu provedor de e-mail para que endereços específicos (por exemplo, info@) cheguem ao Discourse. Dependendo do que seu provedor de e-mail oferece, pode ser desafiador fazer com que os e-mails cheguem ao Discourse com os endereços de remetente corretos - você não pode simplesmente encaminhá-los, pois o Discourse verá tudo como vindo do seu próprio endereço em vez do remetente original.

No Microsoft 365 / Exchange, uma combinação de um conector para rotear para mail-receiver e regras de transporte para fazer com que e-mails específicos usem esse conector funcionaria.

E-mail é difícil, mail-receiver foi projetado para simplificar a resposta a notificações por e-mail e a criação de tópicos (novas mensagens para grupos incluídos nisso) onde o domínio usado não se sobrepõe a serviços de e-mail existentes. Além disso, você está entrando em território avançado não suportado, potencialmente “não foi projetado para ser usado dessa forma”.

2 curtidas

A resposta para a pergunta feita no título é “não”.

A 1 é o que eu pensei desde o início. Essa é a solução recomendada e suportada neste momento.

Eu vi ações recentes no discourse_docker sobre aumentar o suporte para ARM, eu acho, mas parece improvável que o suporte ao mail receiver em ARM seja algo que será adicionado tão cedo. Mas isso é apenas um palpite. Eu não tenho controle sobre o assunto e há muitas coisas que eu não sei.

A outra seria descobrir como fazer o ARM suportar o mail-receiver e enviar um PR.

Se você ama, ama, ama ARM, então você poderia encontrar algum mail receiver completo com caixas de correio e tudo mais e gerenciar um monte de caixas de correio.

2 curtidas

Seria certamente possível dar suporte ao mail-receiver em sistemas ARM. Não há nada específico para amd64 nele (ou, pelo menos, não havia quando eu o fiz, e não consigo imaginar que quaisquer alterações importantes tenham sido feitas para invalidar essa suposição). Seria apenas uma questão de os mantenedores da imagem do Docker fazerem uma compilação da imagem para arm64, como já fazem para amd64.

Alguém também poderia fazer uma compilação não oficial e colocá-la em algum lugar, juntamente com instruções sobre a alteração de uma linha necessária no template pups, ou você poderia fazer sua própria compilação local a partir do repositório no sistema arm64 em que você está executando.

5 curtidas

Existe o socketee que é baixado para /usr/local/bin do GitHub como parte do Dockerfile. Esse é um binário x86_64, então não funcionará, no entanto, parece que ele só é usado se explicitamente configurado.

Especificamente, o recurso acima falharia em arm64, pois o socketee falharia na execução. Não consigo ver nada mais que não funcionaria apenas compilando para arm64.

Não tenho 100% de certeza, mas por observação casual, parece que apenas adicionar estas linhas ao arquivo build pode fazer isso:

docker build --platform linux/arm64 --build-arg=http_proxy=$http_proxy -t discourse/mail-receiver:$1 .
docker push discourse/mail-receiver:${1}_arm64

Sim, eu excluí isso da minha análise porque é extremamente improvável que alguém fora do CDCK esteja usando isso, já que foi incluído para o propósito muito específico de centralizar logs do Postfix – algo que um consumidor médio de mail-receiver quase certamente não fará.

2 curtidas

se mail-receiver não funcionar em ARM e IMAP só funcionar com GMail, isso é muito limitante.
Esta é a primeira vez que vejo :discourse: rodando nas minhas sombras, e isso me entristece muito.

Se alguém estiver interessado, fiz uma compilação de imagem arm64 e a enviei para womble/discourse-mail-receiver:arm64, para ajudar as pessoas até que a equipe principal possa criar uma compilação de imagem oficial. Veja o README do meu branch para mais detalhes sobre limitações (sem socketee por enquanto; adicionarei se alguém disser que precisa), como usá-lo e como relatar problemas (ou seja, “me diga, não a equipe principal”).

6 curtidas

Eu fiz um PR removendo socketee Remove socketee support by Firefishy · Pull Request #28 · discourse/mail-receiver · GitHub

Também ficaria feliz em fazer um PR com as alterações para alinhar mail-receiver com o processo de build ARM64 usado por discourse_docker/.github/workflows/push-web-only.yml at main · discourse/discourse_docker · GitHub

1 curtida