메일 수신기가 회신 주소를 발신 주소로 보내는 중?

netcore(구 pepipost)를 사용하여 이메일을 올바르게 보내는 데 어려움을 겪고 있습니다. 요약하자면, 해당 서비스를 통해 생성한 이메일에서 회신 주소(reply-to)가 발신자(from) 주소에 배치되고 있습니다.

이 문제를 업체 측에 알렸을 때 받은 답변은 다음과 같습니다. 이 설명의 정확성을 확인해 주실 수 있다면 감사하겠습니다.

—————
여러 차례의 테스트를 수행했으며, 관찰 결과는 다음과 같습니다:

문제 설명
Discourse가 외부 ESP(예: Netcore, Mailgun 등)와 SMTP 연결을 설정할 때, 주입(injection) 단계에서 이메일의 From 필드에 회신 주소(예: reply+reply_id@reply.mamapedia.com)를 전송합니다.
이 구성은 이전에 공유한 로그에서 볼 수 있듯이 Netcore에서 제어하지 않습니다. 주목할 점은 Discourse가 다른 플랫폼에 연결할 때도 동일한 구성을 사용한다는 것입니다.

조사 결과

  1. Netcore의 도메인 검증:
  • Netcore는 From 도메인이 Netcore 포털에서 활성화되어 있는지 검증합니다.
  1. 존재하지 않는 도메인으로 테스트:
  • Mailgun을 통해 messages1.mamapedia.com 및 messagestest.test.com과 같이 존재하지 않는 도메인을 사용하여 이메일을 보내는 테스트를 수행했습니다. 해당 도메인이 Mailgun 계정에 추가되지 않았음에도 불구하고 이메일은 전달되었습니다. 참고용으로 테스트 이메일을 첨부합니다. 이는 심각한 보안 문제가 될 수 있습니다.
  • 반면, Netcore는 사기를 방지하기 위해 추가적인 보안 계층을 포함하고 있습니다. 비활성 도메인(Netcore 계정에서 검증되지 않은 도메인)에서 요청이 전송되면 해당 요청은 거부됩니다.

이 추가 보안 기능은 악의적인 행위자가 SMTP 자격 증명을 사용하여 무단 도메인(예: apple.com, [gmail.com]
(http://gmail.com/) 또는 기타 도메인)에서 이메일을 보내는 시나리오를 방지하는 데 도움이 됩니다.

안녕하세요, @Jacob_Peebles 와 함께 이 문제를 처리하고 있으며, 저희 SMTP 설정은 다음과 같습니다.

Netcore에서 사용하는 발신 도메인은

message.mamapedia.com

이며, 이메일 회신 기능을 활성화하기 위해 수신 메일 도메인으로

reply.mamapedia.com

을 설정했습니다.

하지만 불행히도 Netcore에서 다음과 같은 오류가 발생했습니다.

553 5.7.1 replies+verp-43fdbee91575167a6b7634f2bc5d2e52@reply.mamapedia.com: Sender address rejected: not owned by user

첨부된 설정 스크린샷에 따르면, 발신 또는 알림 이메일은 “message.mamapedia.com” 이고, 회신 주소(reply-to)는 “reply.mamapedia.com” 으로 설정되어 있습니다.

Discourse의 VERP 처리 방식 때문에 이것이 예상된 동작이라고 생각합니다 (discourse/lib/email/sender.rb at f44ec18fd23960a22a5d5d397959430d6b84cb1c · discourse/discourse · GitHub 참조) - 리턴 패스(return path) 헤더에 고유 바운스 주소를 설정하고 있습니다.

이 동작이 어떻게 생겨났는지에 대한 전체적인 역사적 배경은 알지 못하지만, 주석 처리된 코드를 보면 이는 Rails의 동작 방식을 고려하기 위한 것임을 알 수 있습니다.

제안: Netcore에 대해 잘 알지 못하지만, 거기에 reply.mamapedia.com을 인식된 도메인으로 추가할 수 있을까요?