문제가 명확히 설명되면 조사해 볼 수 있습니다.
예를 들어, Cloudflare는 이 문제에 어떻게 관여하나요?
이 경우, 앱 또는 웹사이트에서 지정된 이메일 주소로만 보낸 이메일이 Apple 계정에서 설정된 인증된 이메일 주소로 자동으로 전달됩니다.
숨겨진 이메일로 보내는 것이 단일 발신자에게만 작동하나요? iCloud는 이를 어떻게 식별하나요? From 헤더를 사용하나요? Envelope-From? Sender?
호스팅된 사이트의 경우 /admin/email-logs의 아웃바운드 큐 ID를 통해 개별 이메일의 전달 기록을 조회할 수 있습니다. 셀프 호스팅 사이트의 경우 메일 제공업체를 통해 동일한 작업을 수행해야 합니다.
Dir의 문제를 파악해 보기 위해 로그를 확인해 보았습니다. 아래 내용은 모두 익명화되었습니다.
Dir의 경우, Rust 사이트에서 발송되어 전달된 세 통의 이메일이 있었습니다:
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
그리고 Bounced 로그에 각 이메일에 대한 바운스 기록이 있습니다. 예를 들어:
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)
아. 이것이 Cloudflare가 어떻게 관련되는지를 설명합니다. Cloudflare가 Dir의 이메일 도메인의 실제 MX 서버이기 때문입니다.
iCloud가 사용자의 실제 이메일 주소를 포함하는 바운스 메시지를 발신자에게 전달하는 웃지 못할 결과라는 점을 제쳐두면, 문제는 iCloud와 Cloudflare 사이에 있는 것 같습니다.
추측컨대, iCloud는 Cloudflare로 전송할 때 실제 Envelope-From 주소를 감싸기 위해 SRS를 사용하는 것 같지만, Cloudflare가 이를 거부하고 있습니다.
Discourse가 여기서 다르게 할 수 있는 부분이 어디인지 모르겠습니다 - 요구되는 모든 것을 수행하고 있는 것 같습니다. 문제는 분명히 다른 곳에 있습니다.