메일 클라이언트의 기본 동작 지침

klara의 이미지

요즘 메일 클라이언트를 만들고 있는데, 혹시 참고할 만한 지침이 있을까요?

예를 들면, 지금 고민하고 있는게, reply 또는 reply all을 선택했을 때 어느범위까지 보내야 하는지 입니다.
reply를 눌렀을 때, reply-to해더가 있다면 이부분은 당연히 포함시켜야 할텐데, 이때 from/sender도 포함시켜야하는지..
그리고 reply all을 선택했을 땐, 위의 대상외에 to, cc, bcc를 어디까지 넣어야 할지..
bcc는 숨긴 참조이므로 넣으면 안되겠지만, cc도 넣어야하는지..

이외에도 이 동작에선 해더에 어떤 내용을 포함시켜야된다라던가...
기능 하나를 구현할때마다 이건 어떤 것을 따라 해야하는지가 고민되네요.

표준까진 아니더라도, de facto한 지침이라도 정리된게 있다면 알려주시면 감사하겠습니다.