이메일 발신자가 알림 이메일과 일치하지 않는데, 이유가 뭔지 모르겠어요

7년 정도 운영 중인 포럼(현재는 Mailgun 사용 중)에서 https://emailit.com/을 사용하려고 시도하고 있습니다. 그런데 Email It이 다음 오류를 반환하면서 메일 전송을 거부하고 있습니다.

 530 From header does not match MAIL FROM address

Mailgun을 통해 전송된 메시지의 메일 소스를 확인해 보니, "Sender: " 라인이 존재하는 것을 볼 수 있습니다. 예를 들어 "Sender: admin=example.com@www.example.com"과 같은 형태입니다. 다른 포럼의 테스트 메시지는 이러한 라인이 보이지 않습니다.

모든 플러그인을 제거해도 문제가 지속됩니다.

데이터베이스를 초기화하면 문제가 사라집니다.

데이터베이스를 복원하면 다시 문제가 발생합니다.

커스텀 텍스트와 설정을 검색해 보았습니다. 데이터베이스의 모든 필드를 대상으로 "admin=www"와 몇 가지 다른 항목을 찾는 postgres 쿼리도 실행해 보았습니다(적어도 AI는 그렇게 했다고 했고, 그럴듯해 보였습니다).

메일을 전송하는 부분에 어떤 메시지가 전달되는지 확인하기 위해 put 요청을 추가해 보았습니다(어제였고, 클래스 이름을 잊어버렸습니다). 거기서 설명을 찾지는 못했습니다.

아무런 실마리가 없습니다.

다음으로 어디를 확인해 볼 수 있을지 아이디어가 있다면 감사하겠습니다.

발신자(Sender):는 다른 무엇인가를 의미합니다. 보고되는 오류는 “envelope”(RFC821 From 주소)과 “From:” 헤더(RFC822) 간의 불일치를 나타냅니다.

emailit(또는 Discourse일 수도 있습니다. 우리는 너무 오랫동안 자체 메일 서버를 운영해 왔기 때문입니다)이 인증에 사용하는 이메일 주소를 envelope 발신자로 설정하고 있다고 추정합니다.

생각하기에(!) emailit의 경우 notification_emailDISCOURSE_SMTP_USER_NAME이 동일하도록 확인해야 합니다.

정말 감사합니다!

그렇게 될까 봐 걱정하고 있었습니다. 30년 전만큼 RFC822에 대해 잘 알지 못합니다. "From "와 "From: " 그리고 "Sender: "가 모두 존재하는 것임을 알 뿐, 그 이상의 것은 이제 잘 모르겠네요.

아마 올해는 그렇게 해볼지도 모르겠네요. Sendmail과 UUCP를 리눅스에 이식해야 했을 때 메일이 훨씬 더 쉬웠던 것 같습니다. :slight_smile:

유망해 보였습니다. 하지만 결과는 좋지 않았습니다. 흥미롭게도, emailit은 SMTP_USER_NAME이 "emailit"이어야 한다고 말합니다.

하지만 다시 말하지만, app.yml의 SMTP 관련 설정(notification_emai 포함)은 이 동일한 서버에서 데이터베이스가 비어 있을 때는 완벽하게 작동하다가, 데이터베이스가 복원되면 멈추게 됩니다.

Discourse는 봉투 발신자(envelope-from)를 이메일로 회신할 때 사용되는 주소로 설정합니다.

이메일로 답변하기가 비활성화된 상태에서도요! :person_shrugging: :crying_cat_face:

무언가가 설정되어 있는 것을 보았지만(제가 보고 있는 것과 일치하는 것 같지는 않았는데?), 이메일로 답변하기가 비활성화되어 있으니 상관없을 거라고 생각했습니다.

아, 정말 감사합니다! :rocket: :tada:

이메일로 답글 보내기 주소는 발신 이메일의 바운스(수신 불가) 감지에 필수적입니다 :+1: