(참고: Ruby 프로그래머가 아닙니다)
Discourse가 사용 중인 메일 라이브러리에서 특히 불쾌한 동작인 것 같습니다. 다음은 header_value 함수입니다:
제가 아는 한, @message.header[name]는 이 메서드를 호출하고 있습니다:
https://www.rubydoc.info/github/mikel/mail/Mail%2FHeader:[]
RFC에 따르면 많은 필드가 여러 번 나타날 수 있으며, 헤더가 하나만 있거나 일치하는 헤더가 여러 개인 경우, 헤더 상단에서 하단으로 순서대로 배열된 값의 배열을 반환합니다.
Discourse는 자동으로 Precedence 헤더를 설정하므로, email_custom_headers 설정을 통해 추가하는 헤더와 합쳐져 이제 두 개의 Precedence 헤더가 있게 되며, @message.header["Precedence"]는 문자열 대신 배열을 반환합니다.
email_custom_headers에 메시지 객체에 이미 존재하는 헤더가 포함된 경우 이 버그가 발생한다고 생각합니다.