Discourse hospedado, entregabilidade de e-mail para o iCloud

Um de nossos visitantes teve problemas para que o e-mail de confirmação fosse entregue em seu endereço de e-mail usual.

E-mails chegam aparentemente sem nenhum endereço de e-mail do remetente, o que causa um erro no Cloudflare.

Não tenho acesso suficiente para confirmar nada disso. Alguma ajuda?

Tive alguns minutos para tentar ajudar, além disso, costumo levantar uma sobrancelha quando alguém alega “bug”.

Espero que ajude.

Parece que não é o iCloud, mas sim o icloud “Ocultar Meu E-mail”.

Você pode tentar desativar a configuração do site ‘normalizar e-mails’. Acontece que inventar endereços de e-mail falsos para impedir que o Discourse saiba seu endereço de e-mail real é exatamente o mesmo que inventar endereços de e-mail falsos para que você possa criar centenas de contas.

Você precisará decidir se deseja permitir que as pessoas criem contas com endereços de e-mail que não sejam seus endereços de e-mail reais, aparentemente.

1 curtida

Ok, na verdade eu tenho o iCloud+, então tentei usar o Ocultar Meu E-mail, e funcionou bem. Acontece que esse também não é o problema.

Mais alguma coisa que eu deveria tentar?

Se conseguirmos uma explicação clara do problema, poderemos analisá-lo.

por exemplo, como o Cloudflare se encaixa nisso?

Isso significa que apenas e-mails enviados de endereços de e-mail designados pelo aplicativo ou site serão encaminhados automaticamente para o endereço de e-mail verificado definido em sua Conta Apple.

O envio para o e-mail oculto funciona apenas de um único remetente? Como o iCloud se baseia nisso? Ele usa o campo “From”? Envelope-From? Sender?

Para quaisquer sites hospedados, podemos verificar os registros de entrega de e-mails individuais por meio do ID da fila de saída em /admin/email-logs. Sites auto-hospedados precisarão fazer o mesmo com seu provedor de e-mail.


Dei uma olhada nos logs para ver se conseguia entender o problema do Dir - tudo abaixo está anonimizado.

No caso do Dir, houve três e-mails enviados do site em Rust que foram entregues:

timestamp,queueid,message
2025-06-29T19:54:24.000Z,60Axxxxxxxx,client=unknown[2602:fd3f:3:112:0:242:ac11:10]
2025-06-29T19:54:24.000Z,60Axxxxxxxx,message-id=<c39588c5-xxxxxxxxxxxxxxxxxxxxxxxxxxx@users.rust-lang.org>
2025-06-29T19:54:24.000Z,60Axxxxxxxx,"from=<incoming+verp-e5bxxxxxxxxxxxxxxxxxxxxxxxxxxxxx@rust-lang.discoursemail.com>, size=4556, nrcpt=1 (queue active)"
2025-06-29T19:54:28.000Z,60Axxxxxxxx,"to=<dxxxxxxxxxxxxxxx@icloud.com>, relay=mx02.mail.icloud.com[17.57.154.33]:25, delay=4.1, delays=0.01/0/0.55/3.5, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as D2xxxxxxxxx)"
2025-06-29T19:54:28.000Z,60Axxxxxxxx,removed
2025-06-29T19:56:20.000Z,2A7xxxxxxxx,client=unknown[2602:fd3f:3:108:0:242:ac11:1f]
2025-06-29T19:56:20.000Z,2A7xxxxxxxx,message-id=<d72180b5-xxxxxxxxxxxxxxxxxxxxxxxxxxx@users.rust-lang.org>
2025-06-29T19:56:20.000Z,2A7xxxxxxxx,"from=<incoming+verp-ea8xxxxxxxxxxxxxxxxxxxxxxxxxxxxx@rust-lang.discoursemail.com>, size=4556, nrcpt=1 (queue active)"
2025-06-29T19:56:23.000Z,2A7xxxxxxxx,"to=<dxxxxxxxxxxxxxxx@icloud.com>, relay=mx02.mail.icloud.com[17.57.156.30]:25, delay=3.4, delays=0.01/0/0.41/3, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as B9xxxxxxxxx)"
2025-06-29T19:56:23.000Z,2A7xxxxxxxx,removed
2025-06-29T20:24:33.000Z,C8Cxxxxxxxx,client=unknown[2602:fd3f:3:104:0:242:ac11:1f]
2025-06-29T20:24:33.000Z,C8Cxxxxxxxx,message-id=<c5db2547-xxxxxxxxxxxxxxxxxxxxxxxxxxx@users.rust-lang.org>
2025-06-29T20:24:33.000Z,C8Cxxxxxxxx,"from=<incoming+verp-9bfxxxxxxxxxxxxxxxxxxxxxxxxxxxxx@rust-lang.discoursemail.com>, size=5589, nrcpt=1 (queue active)"
2025-06-29T20:25:36.000Z,C8Cxxxxxxxx,"to=<dxxxxxxxxxxxxxxx@icloud.com>, relay=mx02.mail.icloud.com[17.57.156.30]:25, delay=63, delays=0.01/60/0.4/2.9, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as DAxxxxxxxxx)"
2025-06-29T20:25:36.000Z,C8Cxxxxxxxx,removed

e também rejeições para cada um deles no log de rejeições, por exemplo:

From: Mail Delivery System <mailer-daemon@icloud.com>
To: incoming+verp-e5bxxxxxxxxxxxxxxxxxxxxxxxxxxxxx@rust-lang.discoursemail.com
Message-ID: <20250629195443.xxxxxxxxxxxx@outbound.ms.icloud.com>
Subject: Undelivered Mail Returned to Sender

This is a system-generated message to inform you that your email could not
be delivered to one or more recipients. Details of the email and the error are as follows:


<exxx@actualemaildomain.com>: host route1.mx.cloudflare.net[162.159.205.13] said:
    550 5.7.1 missing or invalid address in From: header. tUExxxxxxxxx (in
    reply to end of DATA command)

Ah. Isso explica como o Cloudflare entra nisso - é o MX real para o domínio de e-mail do Dir.

Deixando de lado o resultado risível do iCloud encaminhando uma mensagem de rejeição contendo o endereço de e-mail real do usuário para o remetente, parece que o problema está entre o iCloud e o Cloudflare.

O iCloud, a julgar, provavelmente está usando SRS para empacotar o endereço Envelope-From real ao enviar para o Cloudflare, mas o Cloudflare o está rejeitando.

Não vejo como o Discourse poderia fazer algo diferente aqui - está fazendo tudo o que lhe é pedido? O problema evidentemente está em outro lugar.

2 curtidas

Sim, isso parece uma configuração de e-mail que não está funcionando. Obrigado por ajudar a diagnosticá-la!

1 curtida

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.